まず、9.1 +を使用していない場合は、 この質問を参照 。
PostgreSQL 9.1の拡張機能をインストールするにはどうすればよいですか?
Postgrseql 9.1は、新しいコマンド CREATE EXTENSION
を提供します。これを使用してモジュールをインストールする必要があります。
9.1で提供されるモジュールはここにあります。 。インクルード、
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";
DROP EXTENSION
を参照してください。拡張機能リストを取得することもでき、バージョン番号の基本的なサポートがあります。Evan Carrolの答えは正しいですが、CREATE EXTENSIONコマンドが機能するためにはpostgresql contribパッケージをインストールする必要があることに注意してください。
Ubuntu 12.04では、次のようになります。
Sudo apt-get install postgresql-contrib
Postgresqlサーバーを再起動します。
Sudo /etc/init.d/postgresql restart
利用可能なすべての拡張機能は次のとおりです。
/usr/share/postgresql/9.1/extension/
これで、CREATE EXTENSIONコマンドを実行できます。
コアPostgreSQL開発チームによって維持および提供される拡張機能に加えて、サードパーティから利用可能な拡張機能があります。特に、その目的専用のサイトがあります: http://www.pgxn.org/
postgrersql10の場合
私はそれを解決しました
yum install postgresql10-contrib
Postgresql.confで拡張機能を有効にすることを忘れないでください
shared_preload_libraries = 'pg_stat_statements'
pg_stat_statements.track = all
その後、もちろん再起動
systemctl restart postgresql-10.service
ここにある必要な拡張機能のすべて
/usr/pgsql-10/share/extension/
SUSEを使用している場合のダウンロードおよびインストール方法。例として、クロス集計を使用できるようにtablefuncモジュールをダウンロードしています。 PostgreSQL 9.6.1があります。
デスクトップ、ターミナルを右クリックして、次を入力します。
Sudo zypper in postgreql-contrib
資格情報を入力し、次を入力して続行します。
y
クエリを実行します(pgAdminIIIから実行しました):
CREATE EXTENSION tablefunc;
これでcrosstab
関数ができました。
再起動する必要はありませんでした。
Postgresqlの各バージョンで利用可能な拡張機能は異なります。既に説明したように、利用可能な拡張機能を確認する簡単な方法は次のとおりです。
SELECT * FROM pg_available_extensions;
お探しの拡張機能が利用可能な場合は、次を使用してインストールできます。
CREATE EXTENSION 'extensionName';
または、ドロップしたい場合:
DROP EXTENSION 'extensionName';
psql
を使用すると、\dx
を使用して拡張機能が正常にインストールされたかどうかをさらに確認でき、\dx+ extensioName
を使用して拡張機能の詳細を確認できます。どのパッケージがそれで使用されているかなど、拡張機能に関する追加情報を返します。
使用している拡張機能がPostgresバージョンで利用できない場合は、必要なバイナリファイルとライブラリをダウンロードし、/usr/share/conrib
でそれらを見つける必要があります。
Psqlターミナルへの入力:
\i <path to contrib files>
ubuntuでは通常/usr/share/postgreslq/<your pg version>/contrib/<contrib file>.sql
です