他のバージョンの文書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.1.1. 実装された機能
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. btree_gin
F.4.1. 使用例
F.4.2. 作者
F.5. btree_gist
F.5.1. 使用例
F.5.2. 作者
F.6. chkpass
F.6.1. 作者
F.7. citext
F.7.1. 原理
F.7.2. 使用方法
F.7.3. 文字列比較の動作
F.7.4. 制限
F.7.5. 作者
F.8. cube
F.8.1. 構文
F.8.2. 精度
F.8.3. 使用方法
F.8.4. デフォルト
F.8.5. 注釈
F.8.6. クレジット
F.9. 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.10. dict_int
F.10.1. 設定
F.10.2. 使用方法
F.11. dict_xsyn
F.11.1. 設定
F.11.2. 使用方法
F.12. earthdistance
F.12.1. cubeを基にした地表距離
F.12.2. pointを基にした地表距離
F.13. file_fdw
F.14. fuzzystrmatch
F.14.1. Soundex
F.14.2. レーベンシュタイン
F.14.3. Metaphone
F.14.4. Double Metaphone
F.15. hstore
F.15.1. hstoreの外部表現
F.15.2. hstoreの演算子と関数
F.15.3. インデックス
F.15.4. 例
F.15.5. 統計情報
F.15.6. 互換性
F.15.7. 変換
F.15.8. 作者
F.16. intagg
F.16.1. 関数
F.16.2. 使用例
F.17. intarray
F.17.1. intarrayの関数および演算子
F.17.2. インデックスサポート
F.17.3. 例
F.17.4. ベンチマーク
F.17.5. 作者
F.18. isn
F.18.1. データ型
F.18.2. キャスト
F.18.3. 関数と演算子
F.18.4. 例
F.18.5. 参考文献
F.18.6. 作者
F.19. lo
F.19.1. 原理
F.19.2. 使用方法
F.19.3. 制限
F.19.4. 作者
F.20. ltree
F.20.1. 定義
F.20.2. 演算子と関数
F.20.3. インデックス
F.20.4. 例
F.20.5. 変換
F.20.6. 作者
F.21. pageinspect
F.21.1. 関数
F.22. passwordcheck
F.23. pg_buffercache
F.23.1. pg_buffercacheビュー
F.23.2. サンプル出力
F.23.3. 作者
F.24. pgcrypto
F.24.1. 汎用ハッシュ関数
F.24.2. パスワードハッシュ化関数
F.24.3. PGP暗号化関数
F.24.4. 暗号化そのものを行う関数
F.24.5. ランダムデータ関数
F.24.6. 注釈
F.24.7. 作者
F.25. pg_freespacemap
F.25.1. 関数
F.25.2. サンプル出力
F.25.3. 作者
F.26. pg_prewarm
F.26.1. 関数
F.26.2. 作者
F.27. pgrowlocks
F.27.1. 概要
F.27.2. サンプル出力
F.27.3. 作者
F.28. pg_stat_statements
F.28.1. pg_stat_statements ビュー
F.28.2. 関数
F.28.3. 設定パラメータ
F.28.4. サンプル出力
F.28.5. 作者
F.29. pgstattuple
F.29.1. 関数
F.29.2. 作者
F.30. pg_trgm
F.30.1. トライグラム(またはトリグラフ)の概念
F.30.2. 関数と演算子
F.30.3. インデックスサポート
F.30.4. テキスト検索の統合
F.30.5. 参考
F.30.6. 作者
F.31. postgres_fdw
F.31.1. postgres_fdwの外部データラッパオプション
F.31.2. 接続管理
F.31.3. トランザクション管理
F.31.4. リモート問い合わせの最適化
F.31.5. リモート問い合わせ実行環境
F.31.6. バージョン間互換性
F.31.7. 例
F.31.8. 作者
F.32. seg
F.32.1. 原理
F.32.2. 構文
F.32.3. 精度
F.32.4. 使用方法
F.32.5. 注釈
F.32.6. クレジット
F.33. sepgsql
F.33.1. 概要
F.33.2. インストール
F.33.3. リグレッションテスト
F.33.4. GUCパラメータ
F.33.5. 機能
F.33.6. sepgsql関数
F.33.7. 制限事項
F.33.8. 外部リソース
F.33.9. 作者
F.34. spi
F.34.1. refint — 参照整合性を実装する関数
F.34.2. timetravel — 時間旅行を実装する関数
F.34.3. autoinc — フィールド自動増分用の関数
F.34.4. insert_username — 誰がテーブルを変更したかを追跡する関数
F.34.5. moddatetime — 最終更新時刻を追跡する関数
F.35. sslinfo
F.35.1. 提供される関数
F.35.2. 作者
F.36. tablefunc
F.36.1. 提供される関数
F.36.2. 作者
F.37. tcn
F.38. test_decoding
F.39. tsearch2
F.39.1. 移植に関する問題
F.39.2. 8.3より前のインストレーションを変換
F.39.3. 参考資料
F.40. tsm_system_rows
F.40.1. 例
F.41. tsm_system_time
F.41.1. 例
F.42. unaccent
F.42.1. 設定
F.42.2. 使用方法
F.42.3. 関数
F.43. uuid-ossp
F.43.1. uuid-ossp関数
F.43.2. uuid-osspの構築
F.43.3. 作者
F.44. xml2
F.44.1. 廃止予定の可能性についてのお知らせ
F.44.2. 関数の説明
F.44.3. xpath_table
F.44.4. XSLT関数
F.44.5. 作者

この付録と次の付録には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といった他の方法でサーバにロードされることに注意してください。 各モジュールの詳細はドキュメントを参照してください。