Firstly, if you're not using 9.1+, please refer to this question.
如何安装PostgreSQL 9.1的扩展?
进入psql终端放:
\i <path to contrib files>
在ubuntu它通常是 /usr/share/postgreslq/<your pg version>/contrib/<contrib file>.sql
/usr/share/postgreslq/<your pg version>/contrib/<contrib file>.sql
For the postgrersql10
我用它解决了
yum install postgresql10-contrib
不要忘记在postgresql.conf中激活扩展
shared_preload_libraries = 'pg_stat_statements' pg_stat_statements.track = all
然后当然重启
systemctl restart postgresql-10.service
您可以在此处找到所有必需的扩展程序
/usr/pgsql-10/share/extension/
除了由核心PostgreSQL开发团队维护和提供的扩展之外,还有来自第三方的扩展 . 值得注意的是,有一个致力于此目的的网站:http://www.pgxn.org/
虽然Evan Carrol的答案是正确的,但请注意您需要安装postgresql contrib包才能使CREATE EXTENSION命令生效 .
在Ubuntu 12.04中它会是这样的:
sudo apt-get install postgresql-contrib
重启postgresql服务器:
sudo /etc/init.d/postgresql restart
所有可用的扩展名均为:
/usr/share/postgresql/9.1/extension/
现在您可以运行CREATE EXTENSION命令 .
如果您有SUSE,如何下载和安装 . 作为一个例子,我正在下载tablefunc模块,所以我可以使用交叉表 . 我有PostgreSQL 9.6.1 .
右键单击桌面,终端,键入:
sudo zypper in postgreql-contrib
输入凭据,继续输入:
y
运行查询(我从pgAdminIII运行我的):
CREATE EXTENSION tablefunc;
你现在应该有 crosstab 函数 .
crosstab
我没有重启 .
Postgrseql 9.1提供了一个新命令CREATE EXTENSION . 您应该使用它来安装模块 .
Modules provided in 9.1 can be found here. . 包括,
adminpack , auth_delay , auto_explain , btree_gin , btree_gist , chkpass , citext , cube , dblink , dict_int , dict_xsyn , dummy_seclabel , earthdistance , file_fdw , fuzzystrmatch , hstore , intagg , intarray , isn , lo , ltree , oid2name , pageinspect , passwordcheck , pg_archivecleanup , pgbench , pg_buffercache , pgcrypto , pg_freespacemap , pgrowlocks , pg_standby , pg_stat_statements , pgstattuple , pg_test_fsync , pg_trgm , pg_upgrade , seg , sepgsql , spi , sslinfo , tablefunc , test_parser , tsearch2 , unaccent , uuid-ossp , vacuumlo , xml2
例如,如果您想安装earthdistance,只需使用以下命令:
CREATE EXTENSION earthdistance;
如果要在名称中安装带有连字符的扩展名,例如 uuid-ossp ,则需要用双引号括起扩展名:
uuid-ossp
CREATE EXTENSION "uuid-ossp";
Read more about contrib, and the modules available in 9.1 .
Read about the new extension infrastructure, and the SQL commands to manage it here您现在可以更轻松地卸载模块,请参阅 DROP EXTENSION . 您还可以获得扩展名列表,并且对版本号有基本支持 .
DROP EXTENSION
6 回答
进入psql终端放:
在ubuntu它通常是
/usr/share/postgreslq/<your pg version>/contrib/<contrib file>.sql
For the postgrersql10
我用它解决了
不要忘记在postgresql.conf中激活扩展
然后当然重启
您可以在此处找到所有必需的扩展程序
除了由核心PostgreSQL开发团队维护和提供的扩展之外,还有来自第三方的扩展 . 值得注意的是,有一个致力于此目的的网站:http://www.pgxn.org/
虽然Evan Carrol的答案是正确的,但请注意您需要安装postgresql contrib包才能使CREATE EXTENSION命令生效 .
在Ubuntu 12.04中它会是这样的:
重启postgresql服务器:
所有可用的扩展名均为:
现在您可以运行CREATE EXTENSION命令 .
如果您有SUSE,如何下载和安装 . 作为一个例子,我正在下载tablefunc模块,所以我可以使用交叉表 . 我有PostgreSQL 9.6.1 .
右键单击桌面,终端,键入:
输入凭据,继续输入:
运行查询(我从pgAdminIII运行我的):
你现在应该有
crosstab
函数 .我没有重启 .
Postgrseql 9.1提供了一个新命令CREATE EXTENSION . 您应该使用它来安装模块 .
Modules provided in 9.1 can be found here. . 包括,
例如,如果您想安装earthdistance,只需使用以下命令:
如果要在名称中安装带有连字符的扩展名,例如
uuid-ossp
,则需要用双引号括起扩展名:Read more about contrib, and the modules available in 9.1 .
Read about the new extension infrastructure, and the SQL commands to manage it here您现在可以更轻松地卸载模块,请参阅
DROP EXTENSION
. 您还可以获得扩展名列表,并且对版本号有基本支持 .