如何在PostgreSQL 9.1+中导入模块或安装扩展?

时间:2012-01-26 21:20:49

标签: postgresql postgresql-9.1

首先,如果您不使用9.1+,请refer to this question

如何安装PostgreSQL 9.1的扩展程序?

7 个答案:

答案 0 :(得分:95)

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,则需要将扩展​​名括在双引号中:

CREATE EXTENSION "uuid-ossp";

答案 1 :(得分:53)

虽然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命令。

答案 2 :(得分:11)

除了由核心PostgreSQL开发团队维护和提供的扩展之外,还有来自第三方的扩展。值得注意的是,有一个专门用于此目的的网站:http://www.pgxn.org/

答案 3 :(得分:4)

对于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/

答案 4 :(得分:0)

进入psql终端放:

\i <path to contrib files>
在ubuntu中,它通常是/usr/share/postgreslq/<your pg version>/contrib/<contrib file>.sql

答案 5 :(得分:0)

如果您有SUSE,如何下载和安装。作为一个例子,我正在下载tablefunc模块,所以我可以使用交叉表。我有PostgreSQL 9.6.1。

右键单击桌面,终端,输入:

sudo zypper in postgreql-contrib

输入凭据,输入以下命令继续:

y

运行查询(我从pgAdminIII运行):

CREATE EXTENSION tablefunc;

您现在应该拥有crosstab功能。

我没有重启。

答案 6 :(得分:0)

每个Postgresql版本可用的扩展名有所不同。如前所述,一种检查可用扩展名的简单方法是:

https://

如果您要查找的扩展名可用,则可以使用以下方式安装它:

SELECT * FROM pg_available_extensions;

或者如果要删除它,请使用:

CREATE EXTENSION 'extensionName';

使用DROP EXTENSION 'extensionName'; ,您还可以使用psql检查扩展是否已成功安装,并使用\dx查找有关扩展的更多详细信息。它返回有关扩展的其他信息,例如与扩展一起使用的软件包。

如果该扩展在您的Postgres版本中不可用,则您需要下载必要的二进制文件和库,并将其定位在\dx+ extensioName