it-swarm.com.de

Wie importiere ich Module oder installiere Erweiterungen in PostgreSQL 9.1+?

Erstens, wenn Sie 9.1+ nicht verwenden, bitte beziehen Sie sich auf diese Frage .

Wie installiere ich eine Erweiterung für PostgreSQL 9.1?

78
Evan Carroll

Postgrseql 9.1 bietet einen neuen Befehl CREATE EXTENSION . Sie sollten es verwenden, um Module zu installieren. 

In 9.1 bereitgestellte Module finden Sie hier. . Das Include,

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

Wenn Sie beispielsweise earthdistance installieren möchten, verwenden Sie einfach diesen Befehl:

CREATE EXTENSION earthdistance;

Wenn Sie eine Erweiterung mit einem Bindestrich im Namen installieren möchten, z. B. uuid-ossp, müssen Sie den Namen der Erweiterung in Anführungszeichen setzen:

CREATE EXTENSION "uuid-ossp";
93
Evan Carroll

Obwohl Evan Carrols Antwort korrekt ist, müssen Sie das Paket postgresql contrib installieren, damit der Befehl CREATE EXTENSION funktioniert.

In Ubuntu 12.04 würde es so gehen:

Sudo apt-get install postgresql-contrib

Starten Sie den Postgresql-Server neu:

Sudo /etc/init.d/postgresql restart

Alle verfügbaren Erweiterungen sind in:

/usr/share/postgresql/9.1/extension/

Jetzt können Sie den Befehl CREATE EXTENSION ausführen.

51
tani-rokk

Neben den Erweiterungen, die vom Kernteam von PostgreSQL gepflegt und bereitgestellt werden, gibt es Erweiterungen, die von Dritten angeboten werden. Insbesondere gibt es eine Website für diesen Zweck: http://www.pgxn.org/

11
kgrittn

Für die Postgrersql10  

Ich habe es mit gelöst 

yum install postgresql10-contrib

Vergessen Sie nicht, Erweiterungen in postgresql.conf zu aktivieren

shared_preload_libraries = 'pg_stat_statements'
pg_stat_statements.track = all

dann natürlich neu starten 

systemctl restart postgresql-10.service 

alle benötigten Erweiterungen finden Sie hier 

/usr/pgsql-10/share/extension/
4
matson kepson

Download und Installation bei SUSE Als Beispiel lade ich das tablefunc-Modul herunter, damit ich Kreuztabellen verwenden kann. Ich habe PostgreSQL 9.6.1.

klicken Sie mit der rechten Maustaste auf den Desktop und das Terminal. Geben Sie Folgendes ein:

Sudo zypper in postgreql-contrib

Geben Sie die Anmeldeinformationen ein und fahren Sie fort, indem Sie Folgendes eingeben:

y

Abfrage ausführen (ich habe meine von pgAdminIII ausgeführt):

CREATE EXTENSION tablefunc;

Sie sollten jetzt die Funktion crosstab haben.

Ich musste nicht neu starten.

0
mountainclimber

Die für jede Version von Postgresql verfügbaren Erweiterungen variieren. Wie bereits erwähnt, können Sie auf einfache Weise überprüfen, welche Erweiterungen verfügbar sind:

SELECT * FROM pg_available_extensions;

Wenn die gesuchte Erweiterung verfügbar ist, können Sie sie folgendermaßen installieren:

CREATE EXTENSION 'extensionName';

oder wenn du es fallen lassen willst benutze:

DROP EXTENSION 'extensionName';

Mit psql können Sie außerdem überprüfen, ob die Erweiterung mit \dx erfolgreich installiert wurde, und mit \dx+ extensioName weitere Details zur Erweiterung abrufen. Es werden zusätzliche Informationen zur Erweiterung zurückgegeben, z. B. welche Pakete damit verwendet werden.

Wenn die Erweiterung in Ihrer Postgres-Version nicht verfügbar ist, müssen Sie die erforderlichen Binärdateien und Bibliotheken herunterladen und unter /usr/share/conrib suchen.

0
Marios Simou

In psql terminal setzen:

\i <path to contrib files>

in Ubuntu ist es normalerweise /usr/share/postgreslq/<your pg version>/contrib/<contrib file>.sql

0