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

目次

F.1. adminpack
F.2. auth_delay
F.2.1. 設定パラメータ
F.2.2. 作者
F.3. auto_explain
F.3.1. 設定パラメータ
F.3.2. 例
F.3.3. 作者
F.4. bloom
F.4.1. パラメータ
F.4.2. Examples
F.4.3. 演算子クラスインターフェイス
F.4.4. 制限事項
F.4.5. 著者
F.5. btree_gin
F.5.1. 使用例
F.5.2. 作者
F.6. btree_gist
F.6.1. 使用例
F.6.2. 作者
F.7. chkpass
F.7.1. 作者
F.8. citext
F.8.1. 原理
F.8.2. 使用方法
F.8.3. 文字列比較の動作
F.8.4. 制限
F.8.5. 作者
F.9. cube
F.9.1. 構文
F.9.2. 精度
F.9.3. 使用方法
F.9.4. デフォルト
F.9.5. 注釈
F.9.6. クレジット
F.10. dblink
dblink_connect — リモートデータベースへの永続的な接続を開きます
dblink_connect_u — リモートデータベースへの永続的な危険な接続を開きます
dblink_disconnect — リモートデータベースへの永続的な接続を閉ざします
dblink — リモートデータベースで問い合わせを実行します
dblink_exec — リモートデータベースでコマンドを実行します
dblink_open — リモートデータベースでカーソルを開きます
dblink_fetch — リモートデータベースで開いているカーソルから行を取り出します
dblink_close — リモートデータベースでカーソルを閉ざします
dblink_get_connections — 接続中の名前付きdblink接続すべての名前を返します
dblink_error_message — 名前付き接続上の最後のエラーメッセージを入手します
dblink_send_query — リモートデータベースに非同期問い合わせを送信します
dblink_is_busy — 接続において非同期問い合わせが実行中か検査します
dblink_get_notify — 接続上の非同期通知を取り出します
dblink_get_result — 非同期問い合わせの結果を入手します
dblink_cancel_query — 名前付き接続上の実行中の問い合わせをすべて取り消します
dblink_get_pkey — リレーションの主キーフィールドの位置とフィールド名を返します
dblink_build_sql_insert — ローカル側のタプルを使用し、主キーフィールドの値を別の提供される値に置き換えてINSERT文を構築します
dblink_build_sql_delete — 主キーフィールドの値として提供された値を使用したDELETE文を構築します
dblink_build_sql_update — 主キーフィールドの値として提供された値を使用したUPDATE文を構築します
F.11. dict_int
F.11.1. 設定
F.11.2. 使用方法
F.12. dict_xsyn
F.12.1. 設定
F.12.2. 使用方法
F.13. earthdistance
F.13.1. cubeを基にした地表距離
F.13.2. pointを基にした地表距離
F.14. file_fdw
F.15. fuzzystrmatch
F.15.1. Soundex
F.15.2. レーベンシュタイン
F.15.3. Metaphone
F.15.4. Double Metaphone
F.16. hstore
F.16.1. hstoreの外部表現
F.16.2. hstoreの演算子と関数
F.16.3. インデックス
F.16.4. 例
F.16.5. 統計情報
F.16.6. 互換性
F.16.7. 変換
F.16.8. 作者
F.17. intagg
F.17.1. 関数
F.17.2. 使用例
F.18. intarray
F.18.1. intarrayの関数および演算子
F.18.2. インデックスサポート
F.18.3. 例
F.18.4. ベンチマーク
F.18.5. 作者
F.19. isn
F.19.1. データ型
F.19.2. キャスト
F.19.3. 関数と演算子
F.19.4. 例
F.19.5. 参考文献
F.19.6. 作者
F.20. lo
F.20.1. 原理
F.20.2. 使用方法
F.20.3. 制限
F.20.4. 作者
F.21. ltree
F.21.1. 定義
F.21.2. 演算子と関数
F.21.3. インデックス
F.21.4. 例
F.21.5. 変換
F.21.6. 作者
F.22. pageinspect
F.22.1. 関数
F.23. passwordcheck
F.24. pg_buffercache
F.24.1. pg_buffercacheビュー
F.24.2. サンプル出力
F.24.3. 作者
F.25. pgcrypto
F.25.1. 汎用ハッシュ関数
F.25.2. パスワードハッシュ化関数
F.25.3. PGP暗号化関数
F.25.4. 暗号化そのものを行う関数
F.25.5. ランダムデータ関数
F.25.6. 注釈
F.25.7. 作者
F.26. pg_freespacemap
F.26.1. 関数
F.26.2. サンプル出力
F.26.3. 作者
F.27. pg_prewarm
F.27.1. 関数
F.27.2. 作者
F.28. pgrowlocks
F.28.1. 概要
F.28.2. サンプル出力
F.28.3. 作者
F.29. pg_stat_statements
F.29.1. pg_stat_statements ビュー
F.29.2. 関数
F.29.3. 設定パラメータ
F.29.4. サンプル出力
F.29.5. 作者
F.30. pgstattuple
F.30.1. 関数
F.30.2. 作者
F.31. pg_trgm
F.31.1. トライグラム(またはトリグラフ)の概念
F.31.2. 関数と演算子
F.31.3. GUCパラメータ
F.31.4. インデックスサポート
F.31.5. テキスト検索の統合
F.31.6. 参考
F.31.7. 作者
F.32. pg_visibility
F.32.1. 関数
F.32.2. 作者
F.33. postgres_fdw
F.33.1. postgres_fdwの外部データラッパオプション
F.33.2. 接続管理
F.33.3. トランザクション管理
F.33.4. リモート問い合わせの最適化
F.33.5. リモート問い合わせ実行環境
F.33.6. バージョン間互換性
F.33.7. 例
F.33.8. 作者
F.34. seg
F.34.1. 原理
F.34.2. 構文
F.34.3. 精度
F.34.4. 使用方法
F.34.5. 注釈
F.34.6. クレジット
F.35. sepgsql
F.35.1. 概要
F.35.2. インストール
F.35.3. リグレッションテスト
F.35.4. GUCパラメータ
F.35.5. 機能
F.35.6. sepgsql関数
F.35.7. 制限事項
F.35.8. 外部リソース
F.35.9. 作者
F.36. spi
F.36.1. refint — 参照整合性を実装する関数
F.36.2. timetravel — 時間旅行を実装する関数
F.36.3. autoinc — フィールド自動増分用の関数
F.36.4. insert_username — 誰がテーブルを変更したかを追跡する関数
F.36.5. moddatetime — 最終更新時刻を追跡する関数
F.37. sslinfo
F.37.1. 提供される関数
F.37.2. 作者
F.38. tablefunc
F.38.1. 提供される関数
F.38.2. 作者
F.39. tcn
F.40. test_decoding
F.41. tsearch2
F.41.1. 移植に関する問題
F.41.2. 8.3より前のインストレーションを変換
F.41.3. 参考資料
F.42. tsm_system_rows
F.42.1. 例
F.43. tsm_system_time
F.43.1. 例
F.44. unaccent
F.44.1. 設定
F.44.2. 使用方法
F.44.3. 関数
F.45. uuid-ossp
F.45.1. uuid-ossp関数
F.45.2. uuid-osspの構築
F.45.3. 作者
F.46. xml2
F.46.1. 廃止予定の可能性についてのお知らせ
F.46.2. 関数の説明
F.46.3. xpath_table
F.46.4. XSLT関数
F.46.5. 作者
<title>Additional Supplied Modules</title>

This appendix and the next one contain information regarding the modules that can be found in the <literal>contrib</literal> directory of the <productname>PostgreSQL</> distribution. These include porting tools, analysis utilities, and plug-in features that are not part of the core PostgreSQL system, mainly because they address a limited audience or are too experimental to be part of the main source tree. This does not preclude their usefulness. この付録と次の付録にはPostgreSQL配布物のcontribディレクトリにあるモジュールに関する情報があります。 ここには、移植用のツール、解析ユーティリティ、限定した利用者を対象にしていること、または、主ソースツリーに含めるには実験的すぎることが主な理由でPostgreSQLのコアシステムにはないプラグイン機能が含まれます。 これはその有用性を妨げるものではありません。

This appendix covers extensions and other server plug-in modules found in <literal>contrib</literal>. <xref linkend="contrib-prog"> covers utility programs. この付録では、contribにあるエクステンションやその他のサーバプラグインモジュールを説明します。

When building from the source distribution, these components are not built automatically, unless you build the "world" target (see <xref linkend="build">). You can build and install all of them by running: ソース配布から構築する場合、"world"を対象に構築しない限り、これらのモジュールは自動的に構築されません(ステップ 2参照)。 以下をconfigureを実行した後のソースツリー内のcontribディレクトリで実行することで、これらすべてを構築しインストールすることができます。

make
make install

in the <literal>contrib</literal> directory of a configured source tree; or to build and install just one selected module, do the same in that module's subdirectory. Many of the modules have regression tests, which can be executed by running: 選択した1つのモジュールのみを構築しインストールするには、そのモジュールのディレクトリで同じコマンドを行ってください。 多くのモジュールにはリグレッションテストがあり、インストール前であれば以下のコマンドで、

make check

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

make installcheck

once you have a <productname>PostgreSQL</> server running.

If you are using a pre-packaged version of <productname>PostgreSQL</>, these modules are typically made available as a separate subpackage, such as <literal>postgresql-contrib</>. PostgreSQLのパッケージ化されたバージョンを使用している場合は通常、例えばpostgresql-contribのような別途副パッケージとしてこれらのモジュールが利用可能です。

Many modules supply new user-defined functions, operators, or types. To make use of one of these modules, after you have installed the code you need to register the new SQL objects in the database system. In <productname>PostgreSQL</> 9.1 and later, this is done by executing a <xref linkend="sql-createextension"> command. In a fresh database, you can simply do 多くのモジュールは新しいユーザ定義関数、演算子、型を提供します。 こうしたモジュールの1つを使用できるようにするためには、コードをインストールした後に、新しいオブジェクトをデータベースサーバに登録する必要があります。 PostgreSQL 9.1以降では、これはCREATE EXTENSIONコマンドを実行することで行われます。 新しいデータベースでは、以下のように簡単に行うことができます。 以下に例を示します。

CREATE EXTENSION module_name;

This command must be run by a database superuser. This registers the new SQL objects in the current database only, so you need to run this command in each database that you want the module's facilities to be available in. Alternatively, run it in database <literal>template1</> so that the extension will be copied into subsequently-created databases by default. このコマンドはデータベーススーパーユーザにより実行されなければなりません。 これは現在のデータベースの中にのみ新しいオブジェクトを登録します。 このため、そのモジュールの機能を利用可能にさせたいデータベース毎にこのコマンドを実行しなければなりません。 その拡張が今後作成されるデータベースにデフォルトでコピーされるようにtemplate1データベースに対して実行する方法もあります。

Many modules allow you to install their objects in a schema of your choice. To do that, add <literal>SCHEMA <replaceable>schema_name</></literal> to the <command>CREATE EXTENSION</> command. By default, the objects will be placed in your current creation target schema, typically <literal>public</>. 多くのモジュールはユーザが選択したスキーマ内にそのオブジェクトをインストールすることができます。 これを行うためにはCREATE EXTENSIONコマンドにSCHEMA schema_nameを追加してください。 デフォルトでは、現在の作成対象スキーマ、通常はpublic内に格納されます。

If your database was brought forward by dump and reload from a pre-9.1 version of <productname>PostgreSQL</>, and you had been using the pre-9.1 version of the module in it, you should instead do 9.1より前のバージョンのPostgreSQLからダンプしてリストアすることでデータベースができあがった場合、もし9.1より前のバージョンのモジュールを使用していたのであれば、代わりに以下を行わなければなりません。

CREATE EXTENSION module_name FROM unpackaged;

This will update the pre-9.1 objects of the module into a proper <firstterm>extension</> object. Future updates to the module will be managed by <xref linkend="sql-alterextension">. For more information about extension updates, see <xref linkend="extend-extensions">. これは9.1より前のモジュール内のオブジェクトを適切な拡張オブジェクトに更新します。 今後のモジュールの更新はALTER EXTENSIONにより管理されます。 拡張の更新に関する詳細については36.15. 関連するオブジェクトを拡張としてパッケージ化を参照してください。

Note, however, that some of these modules are not <quote>extensions</quote> in this sense, but are loaded into the server in some other way, for instance by way of <xref linkend="guc-shared-preload-libraries">. See the documentation of each module for details. しかしながら、いくつかのモジュールはこの意味でのエクステンションではなく、例えばshared_preload_librariesといった他の方法でサーバにロードされることに注意してください。 各モジュールの詳細はドキュメントを参照してください。

doc/src/sgml/adminpack.sgml doc/src/sgml/auth-delay.sgml doc/src/sgml/auto-explain.sgml doc/src/sgml/bloom.sgml doc/src/sgml/btree-gin.sgml doc/src/sgml/btree-gist.sgml doc/src/sgml/chkpass.sgml doc/src/sgml/citext.sgml doc/src/sgml/cube.sgml doc/src/sgml/dblink.sgml doc/src/sgml/dict-int.sgml doc/src/sgml/dict-xsyn.sgml doc/src/sgml/earthdistance.sgml doc/src/sgml/file-fdw.sgml doc/src/sgml/fuzzystrmatch.sgml doc/src/sgml/hstore.sgml doc/src/sgml/intagg.sgml doc/src/sgml/intarray.sgml doc/src/sgml/isn.sgml doc/src/sgml/lo.sgml doc/src/sgml/ltree.sgml doc/src/sgml/pageinspect.sgml doc/src/sgml/passwordcheck.sgml doc/src/sgml/pgbuffercache.sgml doc/src/sgml/pgcrypto.sgml doc/src/sgml/pgfreespacemap.sgml doc/src/sgml/pgprewarm.sgml doc/src/sgml/pgrowlocks.sgml doc/src/sgml/pgstatstatements.sgml doc/src/sgml/pgstattuple.sgml doc/src/sgml/pgtrgm.sgml doc/src/sgml/pgvisibility.sgml doc/src/sgml/postgres-fdw.sgml doc/src/sgml/seg.sgml doc/src/sgml/sepgsql.sgml doc/src/sgml/contrib-spi.sgml doc/src/sgml/sslinfo.sgml doc/src/sgml/tablefunc.sgml doc/src/sgml/tcn.sgml doc/src/sgml/test-decoding.sgml doc/src/sgml/tsearch2.sgml doc/src/sgml/tsm-system-rows.sgml doc/src/sgml/tsm-system-time.sgml doc/src/sgml/unaccent.sgml doc/src/sgml/uuid-ossp.sgml doc/src/sgml/xml2.sgml