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

目次

F.1. adminpack — pgAdminサポートツールパック
F.2. amcheck — テーブルとインデックスの一貫性を検査するツール
F.2.1. 関数
F.2.2. オプションheapallindexed検証
F.2.3. amcheckを効果的に使う
F.2.4. 破損の修復
F.3. auth_delay — 認証エラー時に一時停止
F.3.1. 設定パラメータ
F.3.2. 作者
F.4. auto_explain — 低速な問い合わせ実行計画のログ
F.4.1. 設定パラメータ
F.4.2. 例
F.4.3. 作者
F.5. basebackup_to_shell — pg_basebackupモジュール"shell"の例
F.5.1. 設定パラメータ
F.5.2. 作者
F.6. basic_archive — WALアーカイブモジュールの例
F.6.1. 設定パラメータ
F.6.2. 注釈
F.6.3. 作者
F.7. bloom — ブルームフィルターインデックスアクセスメソッド
F.7.1. パラメータ
F.7.2. Examples
F.7.3. 演算子クラスインタフェース
F.7.4. 制限事項
F.7.5. 作者
F.8. btree_gin — GIN演算子クラスとB-tree動作
F.8.1. 使用例
F.8.2. 作者
F.9. btree_gist — GiST演算子クラスとB-tree動作
F.9.1. 使用例
F.9.2. 作者
F.10. citext — 大文字小文字の区別がない文字列型
F.10.1. 原理
F.10.2. 使用方法
F.10.3. 文字列比較の動作
F.10.4. 制限
F.10.5. 作者
F.11. cube — 多次元立方体データ型
F.11.1. 構文
F.11.2. 精度
F.11.3. 使用方法
F.11.4. デフォルト
F.11.5. 注釈
F.11.6. クレジット
F.12. dblink — 他のPostgreSQLデータベースへ接続する
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.13. dict_int — 整数のための全文検索用の辞書の例
F.13.1. 設定
F.13.2. 使用方法
F.14. dict_xsyn — 類義語の全文検索用の辞書の例
F.14.1. 設定
F.14.2. 使用方法
F.15. earthdistance — 大圏距離を計算する
F.15.1. cubeを基にした地表距離
F.15.2. pointを基にした地表距離
F.16. file_fdw — サーバのファイルシステムにあるデータファイルにアクセスする
F.17. fuzzystrmatch — 文字列の類似度と距離を決定する
F.17.1. Soundex
F.17.2. Daitch-Mokotoff Soundex
F.17.3. レーベンシュタイン(Levenshtein)
F.17.4. Metaphone
F.17.5. Double Metaphone
F.18. hstore — hstoreキー/値データ型
F.18.1. hstoreの外部表現
F.18.2. hstoreの演算子と関数
F.18.3. インデックス
F.18.4. 例
F.18.5. 統計情報
F.18.6. 互換性
F.18.7. 変換
F.18.8. 作者
F.19. intagg — 整数型の集約子と列挙子
F.19.1. 関数
F.19.2. 使用例
F.20. intarray — 整数の配列を操作する
F.20.1. intarrayの関数および演算子
F.20.2. インデックスサポート
F.20.3. 例
F.20.4. ベンチマーク
F.20.5. 作者
F.21. isn — 国際標準番号(ISBN、EAN、UPC等)のためのデータ型
F.21.1. データ型
F.21.2. キャスト
F.21.3. 関数と演算子
F.21.4. 例
F.21.5. 参考文献
F.21.6. 作者
F.22. lo — ラージオブジェクトを管理する
F.22.1. 原理
F.22.2. 使用方法
F.22.3. 制限
F.22.4. 作者
F.23. ltree — 階層ツリーを模擬したデータ型
F.23.1. 定義
F.23.2. 演算子と関数
F.23.3. インデックス
F.23.4. 例
F.23.5. 変換
F.23.6. 作者
F.24. old_snapshot — old_snapshot_thresholdの状態を調査する
F.24.1. 関数
F.25. pageinspect — データベースページの低レベルな調査
F.25.1. 一般的な関数
F.25.2. ヒープ関数
F.25.3. B-tree関数
F.25.4. BRIN関数
F.25.5. GIN関数
F.25.6. GiST関数
F.25.7. Hash関数
F.26. passwordcheck — パスワードの強度を検査する
F.27. pg_buffercache — inspect PostgreSQL buffer cache state
F.27.1. pg_buffercacheビュー
F.27.2. The pg_buffercache_summary() Function
F.27.3. The pg_buffercache_usage_counts() Function
F.27.4. サンプル出力
F.27.5. 作者
F.28. pgcrypto — 暗号関数
F.28.1. 汎用ハッシュ関数
F.28.2. パスワードハッシュ化関数
F.28.3. PGP暗号化関数
F.28.4. 暗号化そのものを行う関数
F.28.5. ランダムデータ関数
F.28.6. 注釈
F.28.7. 作者
F.29. pg_freespacemap — 空き領域マップを検査する
F.29.1. 関数
F.29.2. サンプル出力
F.29.3. 作者
F.30. pg_prewarm — リレーションデータをバッファキャッシュにプリロードする
F.30.1. 関数
F.30.2. 設定パラメータ
F.30.3. 作者
F.31. pgrowlocks — テーブルの行ロックの情報を示す
F.31.1. 概要
F.31.2. サンプル出力
F.31.3. 作者
F.32. pg_stat_statements — SQL文のプラン生成時と実行時の統計情報を記録する
F.32.1. pg_stat_statements ビュー
F.32.2. pg_stat_statements_infoビュー
F.32.3. 関数
F.32.4. 設定パラメータ
F.32.5. サンプル出力
F.32.6. 作者
F.33. pgstattuple — タプルレベルの統計情報を入手する
F.33.1. 関数
F.33.2. 作者
F.34. pg_surgery — リレーションデータに対して低レベルの手術を行う
F.34.1. 関数
F.34.2. 作者
F.35. pg_trgm — トライグラム一致を使ったテキストの類似度をサポートする
F.35.1. トライグラム(またはトリグラフ)の概念
F.35.2. 関数と演算子
F.35.3. GUCパラメータ
F.35.4. インデックスサポート
F.35.5. テキスト検索の統合
F.35.6. 参考
F.35.7. 作者
F.36. pg_visibility — 可視性マップ情報とユーティリティ
F.36.1. 関数
F.36.2. 作者
F.37. pg_walinspect — low-level WAL inspection
F.37.1. 一般的な関数
F.37.2. 作者
F.38. postgres_fdw — access data stored in external PostgreSQL servers
F.38.1. postgres_fdwの外部データラッパーオプション
F.38.2. 関数
F.38.3. 接続管理
F.38.4. トランザクション管理
F.38.5. リモート問い合わせの最適化
F.38.6. リモート問い合わせ実行環境
F.38.7. バージョン間互換性
F.38.8. 設定パラメータ
F.38.9. 例
F.38.10. 作者
F.39. seg — 線分または浮動小数点区間のためのデータ型
F.39.1. 原理
F.39.2. 構文
F.39.3. 精度
F.39.4. 使用方法
F.39.5. 注釈
F.39.6. クレジット
F.40. sepgsql — SELinuxベースでラベルベースの強制アクセス制御(MAC)セキュリティモジュール
F.40.1. 概要
F.40.2. インストール
F.40.3. リグレッションテスト
F.40.4. GUCパラメータ
F.40.5. 機能
F.40.6. sepgsql関数
F.40.7. 制限事項
F.40.8. 外部リソース
F.40.9. 作者
F.41. spi — サーバプログラミングインタフェース機能/例
F.41.1. refint — 参照整合性を実装する関数
F.41.2. autoinc — フィールド自動増分用の関数
F.41.3. insert_username — 誰がテーブルを変更したかを追跡する関数
F.41.4. moddatetime — 最終更新時刻を追跡する関数
F.42. sslinfo — クライアントのSSL情報を取得する
F.42.1. 提供される関数
F.42.2. 作者
F.43. tablefunc — テーブルを返す関数(crosstab等)
F.43.1. 提供される関数
F.43.2. 作者
F.44. tcn — テーブルの内容の変更を監視者に通知するトリガ関数
F.45. test_decoding — SQLに基づくWAL論理デコードのためのテストモジュール/モジュール例
F.46. tsm_system_rows — TABLESAMPLEに対するSYSTEM_ROWSサンプリングメソッド
F.46.1. 例
F.47. tsm_system_time — TABLESAMPLEに対するSYSTEM_TIMEサンプリングメソッド
F.47.1. 例
F.48. unaccent — 発音区分記号を取り除く全文検索用辞書
F.48.1. 設定
F.48.2. 使用方法
F.48.3. 関数
F.49. uuid-ossp — UUID生成器
F.49.1. uuid-ossp関数
F.49.2. uuid-osspの構築
F.49.3. 作者
F.50. xml2 — XPath問い合わせとXSLT機能
F.50.1. 廃止予定の可能性についてのお知らせ
F.50.2. 関数の説明
F.50.3. xpath_table
F.50.4. XSLT関数
F.50.5. 作者

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

この付録では、contribにある拡張やその他のサーバプラグインモジュールライブラリを説明します。 付録Gは、ユーティリティプログラムをカバーしています。

ソース配布から構築する場合、"world"を対象に構築しない限り、これらのオプションのコンポーネントは自動的には構築されません(ステップ 2参照)。 次のコマンドを実行することで、これらすべてを構築しインストールすることができます。

make
make 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_ginfuzzystrmatchltreetcn
btree_gisthstorepgcryptotsm_system_rows
citextintarraypg_trgmtsm_system_time
cubeisnsegunaccent
dict_intlotablefuncuuid-ossp

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

しかしながら、いくつかのコンポーネントはこの意味での拡張ではなく、例えばshared_preload_librariesといった他の方法でサーバにロードされることに注意してください。 各コンポーネントの詳細はドキュメントを参照してください。