2012-01-26 44 views

回答

83

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

爲方便起見,刪除一個擴展名: 'DROP EXTENSION extension_name [,...]' – Stew

11

除了由核心PostgreSQL開發團隊維護和提供的擴展之外,還有第三方提供的擴展。值得注意的是,有一個專門用於這一目的的網站:http://www.pgxn.org/

0

進入psql的終端放:在Ubuntu

\i <path to contrib files> 

它通常是/usr/share/postgreslq/<your pg version>/contrib/<contrib file>.sql

+5

這是9.1之前的版本。不要在9.1+中使用這種方法。 –

+1

哦,這是正確的,它也適用於8.4。 –

47

雖然埃文卡羅爾的答案是正確的,請注意,您需要安裝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命令。

+0

我試圖安裝citext,但谷歌沒有找到這個頁面,並且這個答案沒有出現。現在citext在這個頁面上被提及三次:-)來吧谷歌,做這個索引的東西。 – boatcoder

0

如果您有SUSE,如何下載和安裝。作爲一個例子,我下載了tablefunc模塊,以便我可以使用交叉表。我有PostgreSQL 9.6.1。

鼠標右鍵單擊桌面,終端,輸入:

sudo zypper in postgreql-contrib 

輸入憑據,鍵入繼續:

y 

運行查詢(我跑我的,從pgAdminIII):

CREATE EXTENSION tablefunc; 

您現在應該具有crosstab功能。

我不必重新啓動。

相關問題