まず、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コマンドを機能させるには、postgresqlcontribパッケージをインストールする必要があることに注意してください。
Ubuntu 12.04では、次のようになります。
sudo apt-get install postgresql-contrib
postgresqlサーバーを再起動します。
sudo /etc/init.d/postgresql restart
利用可能なすべての拡張機能は次のとおりです。
/usr/share/postgresql/9.1/extension/
これで、CREATEEXTENSIONコマンドを実行できます。
コア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/
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
SUSEをお持ちの場合のダウンロードとインストールの方法。例として、クロス集計を使用できるようにtablefuncモジュールをダウンロードしています。私はPostgreSQL9.6.1を持っています。
デスクトップ、ターミナルを右クリックして、次のように入力します。
sudo zypper in postgreql-contrib
資格情報を入力し、次のように入力して続行します。
y
クエリを実行します(私はpgAdminIIIから実行しました):
CREATE EXTENSION tablefunc;
これでcrosstab
関数ができました。
再起動する必要はありませんでした。
DROP EXTENSION extension_name [, ...]