首先,如果您未使用9.1+,请参阅此问题。
如何安装PostgreSQL 9.1的扩展?
Answers:
Postgrseql 9.1提供了一个新命令CREATE EXTENSION
。您应该使用它来安装模块。
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";
DROP EXTENSION
。您还可以获得扩展名列表,并且基本支持版本号。尽管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命令。
除了由核心PostgreSQL开发团队维护和提供的扩展之外,还有第三方提供的扩展。值得注意的是,有一个专门用于此目的的站点:http : //www.pgxn.org/
每个Postgresql版本可用的扩展名各不相同。如前所述,一种检查可用扩展名的简单方法是:
SELECT * FROM pg_available_extensions;
如果您要查找的扩展名可用,则可以使用以下方法安装它:
CREATE EXTENSION 'extensionName';
或者,如果您要删除它,请使用:
DROP EXTENSION 'extensionName';
使用,psql
您还可以使用来检查扩展是否已成功安装\dx
,并使用来查找有关该扩展的更多详细信息\dx+ extensioName
。它返回有关扩展的其他信息,例如与扩展一起使用的软件包。
如果该扩展在您的Postgres版本中不可用,那么您需要下载必要的二进制文件和库并在以下位置找到它们 /usr/share/conrib
放入psql终端放:
\i <path to contrib files>
在ubuntu中,通常是 /usr/share/postgreslq/<your pg version>/contrib/<contrib file>.sql
DROP EXTENSION extension_name [, ...]