Erstens, wenn Sie 9.1+ nicht verwenden, bitte beziehen Sie sich auf diese Frage .
Wie installiere ich eine Erweiterung für PostgreSQL 9.1?
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";
DROP EXTENSION
. Sie können auch eine Erweiterungsliste erhalten und es gibt grundlegende Unterstützung für Versionsnummern.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.
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/
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/
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.
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.
In psql terminal setzen:
\i <path to contrib files>
in Ubuntu ist es normalerweise /usr/share/postgreslq/<your pg version>/contrib/<contrib file>.sql