目次
old_snapshot_thresholdの状態を調査するcrosstab等)TABLESAMPLEに対するSYSTEM_ROWSサンプリングメソッドTABLESAMPLEに対するSYSTEM_TIMEサンプリングメソッド
この付録と次の付録にはPostgreSQL配布物のcontribディレクトリにあるオプションとなっているコンポーネントに関する情報があります。
ここには、PostgreSQLのコアシステムにはない移植用のツール、解析ユーティリティ、プラグイン機能が含まれます。
これらは、限定した利用者を対象にしていること、または、主ソースツリーに含めるには実験的すぎることが主な理由で分けられています。
これはその有用性を妨げるものではありません。
この付録では、contribにある拡張やその他のサーバプラグインモジュールライブラリを説明します。
付録Gは、ユーティリティプログラムをカバーしています。
ソース配布から構築する場合、"world"を対象に構築しない限り、これらのオプションのコンポーネントは自動的には構築されません(ステップ 2参照)。 次のコマンドを実行することで、これらすべてを構築しインストールすることができます。
makemake install
設定されたソースツリーのcontribディレクトリにあります。
あるいは、選択した1つのモジュールのみを構築しインストールするには、そのモジュールのサブディレクトリで同じコマンドを行ってください。
多くのモジュールにはリグレッションテストがあり、以下を
make check
インストール前に実行、または以下を
make installcheck
PostgreSQLサーバが動いている状態で実行できます。
PostgreSQLのパッケージ化されたバージョンを使用している場合は通常、例えばpostgresql-contribのような別途副パッケージとしてこれらのコンポーネントが利用可能です。
多くのコンポーネントは拡張としてパッケージ化され、新しいユーザ定義関数、演算子、型を提供します。 こうした拡張の1つを使用できるようにするためには、コードをインストールした後に、新しいSQLオブジェクトをデータベースサーバに登録する必要があります。 これはCREATE EXTENSIONコマンドを実行することで行われます。 新しいデータベースでは、以下のように簡単に行うことができます。
CREATE EXTENSION extension_name;
このコマンドは現在のデータベースの中にのみ新しいSQLオブジェクトを登録します。このため、その拡張の機能を利用可能にさせたいデータベース毎にこのコマンドを実行しなければなりません。
その拡張が今後作成されるデータベースにデフォルトでコピーされるようにtemplate1データベースに対して実行する方法もあります。
これらすべての拡張について、拡張が「trusted」と見なされていなければ、CREATE EXTENSIONコマンドはデータベーススーパーユーザによって実行されなければなりません。
信頼されている拡張は、現在のデータベースに対してCREATE権限を持つユーザであれば誰でも実行できます。
信頼されている拡張は、以降の節でそのように明確にされています。
一般的に信頼されている拡張とは、データベース外の機能へのアクセスを提供できない拡張のことです。
デフォルトのインストールでは以下の拡張が信頼されているものです。
| btree_gin | fuzzystrmatch | ltree | tcn |
| btree_gist | hstore | pgcrypto | tsm_system_rows |
| citext | intarray | pg_trgm | tsm_system_time |
| cube | isn | seg | unaccent |
| dict_int | lo | tablefunc | uuid-ossp |
多くの拡張はユーザが選択したスキーマ内にそのオブジェクトをインストールすることができます。
これを行うためにはCREATE EXTENSIONコマンドにSCHEMA を追加してください。
デフォルトでは、オブジェクトは現在の作成対象スキーマ内に格納され、そのスキーマのデフォルトはschema_namepublicです。
しかしながら、いくつかのコンポーネントはこの意味での「拡張」ではなく、例えばshared_preload_librariesといった他の方法でサーバにロードされることに注意してください。 各コンポーネントの詳細はドキュメントを参照してください。