2012-01-26 3 views

risposta

83

Postgrseql 9.1 fornisce un nuovo comando CREATE EXTENSION. Dovresti usarlo per installare i moduli.

Modules provided in 9.1 can be found here.. Il comprendono,

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 

Se per esempio volete installare earthdistance, è sufficiente utilizzare questo comando:

CREATE EXTENSION earthdistance; 

Se si voleva installare un'estensione con un trattino nel suo nome, come uuid-ossp, è necessario per racchiudere il nome di estensione tra virgolette:

CREATE EXTENSION "uuid-ossp"; 
+1

Per comodità, per rimuovere un'estensione: 'DROP EXTENSION extension_name [, ...]' – Stew

11

Oltre alle estensioni che vengono mantenute e fornite dal team di sviluppo di PostgreSQL, sono disponibili estensioni da terze parti. In particolare, v'è un sito dedicato a questo scopo: http://www.pgxn.org/

0

Into psql put terminale:

\i <path to contrib files> 

in ubuntu è di solito /usr/share/postgreslq/<your pg version>/contrib/<contrib file>.sql

+5

Questo è per 9.1. Non usare questo metodo in 9.1+. –

+1

Oh, giusto, e funziona anche per 8.4. –

47

Mentre la risposta di Evan Carrol è corretta, si prega di notare che è necessario per installare il pacchetto contrib postgresql affinché il comando CREATE EXTENSION funzioni.

In Ubuntu 12.04 che sarebbe andata così:

sudo apt-get install postgresql-contrib 

Riavviare il server PostgreSQL:

sudo /etc/init.d/postgresql restart 

All interno disponibile in:

/usr/share/postgresql/9.1/extension/ 

Ora è possibile eseguire il CREA il comando ESTENSIONE.

+0

Stavo cercando di installare citext, ma Google non stava trovando questa pagina e questa risposta non è venuta fuori. Ora citext è citato tre volte in questa pagina :-) Dai google, fai quella cosa di indicizzazione. – boatcoder

0

Come scaricare e installare se si dispone di SUSE. Ad esempio sto scaricando il modulo tablefunc in modo da poter utilizzare crosstab. Ho PostgreSQL 9.6.1.

pulsante destro del mouse desktop, terminale, digitare:

sudo zypper in postgreql-contrib 

immettere le credenziali, continuare digitando:

y 

interrogazione Run (ho corso la mia da pgAdminIII):

CREATE EXTENSION tablefunc; 

Ora dovresti avere la funzione crosstab.

Non ho dovuto riavviare.