在大多数Linux系统中,如果用户使用的是RPM或DEB打包版本的PostgreSQL,则可选的postgresql-contrib软件包中包含所有contrib模块及其关联的安装程序脚本。如果尚未安装,你可能需要使用yum,apt-get或类似的机制添加此软件包。在Solaris系统上,这个软件包名为SUNWpostgr-contrib。
我们来看下面的命令,请注意必须用超级用户执行:
CREATE EXTENSION extension_name: 此命令将安装一个名为extension_name的新扩展
ALTER EXTENSION extension name: 此命令将更改扩展名,大多用于升级扩展。
DROP EXTENIONS extension_name: 在清理操作完成后,此命令用于删除一个扩展。
以上命令不能执行或执行报异常,一种可能是contrib模块没有执行编译安装,可以到contrib/目录下执行
find / -name contrib
make&make install完成编译安装后在尝试执行以上命令。
示例:
cd /software/postgresql-9.5.7/contrib
make
make install
testdb=# create extension pg_buffercache;
切换用户:
sudo su postgres
给用户分配超级管理员角色
ALTER ROLE <user_name> SUPERUSER;
CREATE EXTENSION cube;
CREATE EXTENSION earthdistance;