Postgrseql 9.1 zawiera nowe polecenie CREATE EXTENSION
. Powinieneś go użyć do zainstalowania modułów.
Moduły zawarte w 9.1 można znaleźć tutaj. . Obejmują,
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
Jeśli na przykład chcesz zainstalować earthdistance
, po prostu użyj tego polecenia:
CREATE EXTENSION earthdistance;
Jeśli chcesz zainstalować rozszerzenie z łącznikiem w nazwie, na przykład uuid-ossp
, musisz umieścić nazwę rozszerzenia w podwójnych cudzysłowach:
CREATE EXTENSION "uuid-ossp";
DROP EXTENSION extension_name [, ...]
Chociaż odpowiedź Evana Carrola jest poprawna, pamiętaj, że musisz zainstalować pakiet postgresql contrib, aby polecenie CREATE EXTENSION działało.
W Ubuntu 12.04 wyglądałoby to tak:
sudo apt-get install postgresql-contrib
Zrestartuj serwer postgresql:
Wszystkie dostępne rozszerzenia znajdują się w:
Teraz możesz uruchomić polecenie UTWÓRZ ROZSZERZENIE.
źródło
Oprócz rozszerzeń, które są obsługiwane i dostarczane przez główny zespół programistów PostgreSQL, istnieją rozszerzenia dostępne od stron trzecich. Warto zauważyć, że istnieje witryna przeznaczona do tego celu: http://www.pgxn.org/
źródło
W przypadku pliku postgrersql10
Rozwiązałem to za pomocą
yum install postgresql10-contrib
Nie zapomnij aktywować rozszerzeń w postgresql.conf
potem oczywiście uruchom ponownie
wszystkie potrzebne rozszerzenia, które można znaleźć tutaj
źródło
Rozszerzenia dostępne dla każdej wersji Postgresql są różne. Jak już wspomniano, prostym sposobem sprawdzenia, które rozszerzenia są dostępne, jest:
SELECT * FROM pg_available_extensions;
Jeśli rozszerzenie, którego szukasz, jest dostępne, możesz je zainstalować za pomocą:
CREATE EXTENSION 'extensionName';
lub jeśli chcesz go upuścić użyj:
DROP EXTENSION 'extensionName';
Dzięki
psql
możesz dodatkowo sprawdzić, czy rozszerzenie zostało pomyślnie zainstalowane za pomocą\dx
, i znaleźć więcej szczegółów na temat rozszerzenia za pomocą\dx+ extensioName
. Zwraca dodatkowe informacje o rozszerzeniu, takie jak używane z nim pakiety.Jeśli rozszerzenie nie jest dostępne w Twojej wersji Postgres, musisz pobrać niezbędne pliki binarne i biblioteki i zlokalizować je pod adresem
/usr/share/conrib
źródło
W terminalu psql umieść:
w ubuntu zwykle tak jest
/usr/share/postgreslq/<your pg version>/contrib/<contrib file>.sql
źródło
Jak pobrać i zainstalować, jeśli masz SUSE. Jako przykład pobieram moduł tablefunc, więc mogę użyć tabeli krzyżowej. Mam PostgreSQL 9.6.1.
kliknij prawym przyciskiem pulpit, terminal, wpisz:
Wprowadź dane logowania, kontynuuj wpisując:
Uruchom zapytanie (moje uruchomiłem z pgAdminIII):
CREATE EXTENSION tablefunc;
Powinieneś teraz mieć tę
crosstab
funkcję.Nie musiałem restartować.
źródło