【发布时间】:2012-02-19 23:35:34
【问题描述】:
首先,如果您没有使用 9.1+,请refer to this question。
如何安装 PostgreSQL 9.1 的扩展?
【问题讨论】:
首先,如果您没有使用 9.1+,请refer to this question。
如何安装 PostgreSQL 9.1 的扩展?
【问题讨论】:
每个版本的 Postgresql 可用的扩展有所不同。如前所述,检查哪些扩展可用的简单方法是:
SELECT * FROM pg_available_extensions;
如果您正在寻找的扩展可用,您可以使用以下方式安装它:
CREATE EXTENSION 'extensionName';
或者如果你想放弃它使用:
DROP EXTENSION 'extensionName';
使用psql,您还可以使用\dx 检查扩展是否已成功安装,并使用\dx+ extensioName 查找有关扩展的更多详细信息。它返回有关扩展的附加信息,例如与它一起使用的包。
如果您的 Postgres 版本中没有该扩展,那么您需要下载必要的二进制文件和库并将其定位在 /usr/share/conrib
【讨论】:
create extension intarray; 这不:create extension 'intarray';
对于 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/
【讨论】:
如果您有 SUSE,如何下载和安装。例如,我正在下载 tablefunc 模块,以便可以使用交叉表。我有 PostgreSQL 9.6.1。
右键桌面,终端,输入:
sudo zypper in postgreql-contrib
输入凭据,继续键入:
y
运行查询(我从 pgAdminIII 运行我的):
CREATE EXTENSION tablefunc;
您现在应该拥有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,则需要将扩展程序名称用双引号引起来:
CREATE EXTENSION "uuid-ossp";
DROP EXTENSION。您还可以获得扩展列表,并且对版本号有基本支持。【讨论】:
DROP EXTENSION extension_name [, ...]
虽然 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 命令。
【讨论】:
vacuumlo脚本。此外,您可能需要使用ln -s 将vacuumlo 链接到/usr/bin。
进入psql终端放:
\i <path to contrib files>
在 ubuntu 中通常是/usr/share/postgreslq/<your pg version>/contrib/<contrib file>.sql
【讨论】:
除了由核心 PostgreSQL 开发团队维护和提供的扩展之外,还有第三方提供的扩展。值得注意的是,有一个专门用于此目的的网站:http://www.pgxn.org/
【讨论】: