他のバージョンの文書 15 | 14 | 13 | 12 | 11 | 10 | 9.6 | 9.5 | 9.4 | 9.3 | 9.2 | 9.1 | 9.0 | 8.4 | 8.3 | 8.2 | 8.1 | 8.0 | 7.4 | 7.3 | 7.2

付録 F. 追加で提供されるモジュール

目次
F.1. adminpack
F.2. auth_delay
F.3. auto_explain
F.4. btree_gin
F.5. btree_gist
F.6. chkpass
F.7. citext
F.8. cube
F.9. dblink
F.10. dict_int
F.11. dict_xsyn
F.12. dummy_seclabel
F.13. earthdistance
F.14. file_fdw
F.15. fuzzystrmatch
F.16. hstore
F.17. intagg
F.18. intarray
F.19. isn
F.20. lo
F.21. ltree
F.22. pageinspect
F.23. passwordcheck
F.24. pg_buffercache
F.25. pgcrypto
F.26. pg_freespacemap
F.27. pg_prewarm
F.28. pgrowlocks
F.29. pg_stat_statements
F.30. pgstattuple
F.31. pg_trgm
F.32. postgres_fdw
F.33. seg
F.34. sepgsql
F.35. spi
F.36. sslinfo
F.37. tablefunc
F.38. tcn
F.39. test_decoding
F.40. test_parser
F.41. test_shm_mq
F.42. tsearch2
F.43. unaccent
F.44. uuid-ossp
F.45. xml2

この付録と次の付録にはPostgreSQL配布物のcontribディレクトリにあるモジュールに関する情報があります。 ここには、移植用のツール、解析ユーティリティ、限定した利用者を対象にしていること、または、主ソースツリーに含めるには実験的すぎることが主な理由でPostgreSQLのコアシステムにはないプラグイン機能が含まれます。 これはその有用性を妨げるものではありません。

この付録では、contribにあるエクステンションやその他のサーバプラグインモジュールを説明します。

ソース配布から構築する場合、"world"を対象に構築しない限り、これらのモジュールは自動的に構築されません(ステップ2参照)。 以下をconfigureを実行した後のソースツリー内のcontribディレクトリで実行することで、これらすべてを構築しインストールすることができます。

make
make install

選択した1つのモジュールのみを構築しインストールするには、そのモジュールのディレクトリで同じコマンドを行ってください。 多くのモジュールにはリグレッション試験があり、インストール前であれば以下のコマンドで、

make check

PostgreSQLサーバが動いている状態であれば以下のコマンドで実行できます。

make installcheck

PostgreSQLのパッケージ化されたバージョンを使用している場合は通常、例えばpostgresql-contribのような別途副パッケージとしてこれらのモジュールが利用可能です。

多くのモジュールは新しいユーザ定義関数、演算子、型を提供します。 こうしたモジュールの1つを使用できるようにするためには、コードをインストールした後に、新しいオブジェクトをデータベースサーバに登録する必要があります。 PostgreSQL 9.1以降では、これはCREATE EXTENSIONコマンドを実行することで行われます。 新しいデータベースでは、以下のように簡単に行うことができます。 以下に例を示します。

CREATE EXTENSION module_name;

このコマンドはデータベーススーパーユーザにより実行されなければなりません。 これは現在のデータベースの中にのみ新しいオブジェクトを登録します。 このため、そのモジュールの機能を利用可能にさせたいデータベース毎にこのコマンドを実行しなければなりません。 その拡張が今後作成されるデータベースにデフォルトでコピーされるようにtemplate1データベースに対して実行する方法もあります。

多くのモジュールはユーザが選択したスキーマ内にそのオブジェクトをインストールすることができます。 これを行うためにはCREATE EXTENSIONコマンドにSCHEMA schema_nameを追加してください。 デフォルトでは、現在の作成対象スキーマ、通常はpublic内に格納されます。

9.1より前のバージョンのPostgreSQLからダンプしてリストアすることでデータベースができあがった場合、もし9.1より前のバージョンのモジュールを使用していたのであれば、代わりに以下を行わなければなりません。

CREATE EXTENSION module_name FROM unpackaged;

これは9.1より前のモジュール内のオブジェクトを適切な拡張オブジェクトに更新します。 今後のモジュールの更新はALTER EXTENSIONにより管理されます。 拡張の更新に関する詳細については項35.15を参照してください。

しかしながら、いくつかのモジュールはこの意味での"エクステンション"ではなく、例えばshared_preload_librariesといった他の方法でサーバにロードされることに注意してください。 各モジュールの詳細はドキュメントを参照してください。