他のバージョンの文書 17 | 16 | 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. amcheck — テーブルとインデックスの一貫性を検査するツール
F.1.1. 関数
F.1.2. オプションheapallindexed検証
F.1.3. amcheckを効果的に使う
F.1.4. 破損の修復
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. basebackup_to_shell — pg_basebackupモジュール"shell"の例
F.4.1. 設定パラメータ
F.4.2. 作者
F.5. basic_archive — WALアーカイブモジュールの例
F.5.1. 設定パラメータ
F.5.2. 注釈
F.5.3. 作者
F.6. bloom — ブルームフィルタインデックスアクセスメソッド
F.6.1. パラメータ
F.6.2. 例
F.6.3. 演算子クラスインタフェース
F.6.4. 制限事項
F.6.5. 作者
F.7. btree_gin — GIN演算子クラスとB-tree動作
F.7.1. 使用例
F.7.2. 作者
F.8. btree_gist — GiST演算子クラスとB-tree動作
F.8.1. 使用例
F.8.2. 作者
F.9. citext — 大文字小文字の区別がない文字列型
F.9.1. 原理
F.9.2. 使用方法
F.9.3. 文字列比較の動作
F.9.4. 制限事項
F.9.5. 作者
F.10. cube — 多次元立方体データ型
F.10.1. 構文
F.10.2. 精度
F.10.3. 使用方法
F.10.4. デフォルト
F.10.5. 注釈
F.10.6. クレジット
F.11. 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.12. dict_int — 整数のための全文検索用の辞書の例
F.12.1. 設定
F.12.2. 使用方法
F.13. dict_xsyn — 類義語の全文検索用の辞書の例
F.13.1. 設定
F.13.2. 使用方法
F.14. earthdistance — 大圏距離を計算する
F.14.1. cubeを基にした地表距離
F.14.2. pointを基にした地表距離
F.15. file_fdw — サーバのファイルシステムにあるデータファイルにアクセスする
F.16. fuzzystrmatch — 文字列の類似度と距離を決定する
F.16.1. Soundex
F.16.2. Daitch-Mokotoff Soundex
F.16.3. レーベンシュタイン(Levenshtein)
F.16.4. Metaphone
F.16.5. Double Metaphone
F.17. hstore — hstoreキー/値データ型
F.17.1. hstoreの外部表現
F.17.2. hstoreの演算子と関数
F.17.3. インデックス
F.17.4. 例
F.17.5. 統計情報
F.17.6. 互換性
F.17.7. 変換
F.17.8. 作者
F.18. intagg — 整数型の集約子と列挙子
F.18.1. 関数
F.18.2. 使用例
F.19. intarray — 整数の配列を操作する
F.19.1. intarrayの関数および演算子
F.19.2. インデックスサポート
F.19.3. 例
F.19.4. ベンチマーク
F.19.5. 作者
F.20. isn — 国際標準番号(ISBN、EAN、UPC等)のためのデータ型
F.20.1. データ型
F.20.2. キャスト
F.20.3. 関数と演算子
F.20.4. 例
F.20.5. 参考文献
F.20.6. 作者
F.21. lo — ラージオブジェクトを管理する
F.21.1. 原理
F.21.2. 使用方法
F.21.3. 制限事項
F.21.4. 作者
F.22. ltree — 階層ツリーを模擬したデータ型
F.22.1. 定義
F.22.2. 演算子と関数
F.22.3. インデックス
F.22.4. 例
F.22.5. 変換
F.22.6. 作者
F.23. pageinspect — データベースページの低レベルな調査
F.23.1. 一般的な関数
F.23.2. ヒープ関数
F.23.3. B-tree関数
F.23.4. BRIN関数
F.23.5. GIN関数
F.23.6. GiST関数
F.23.7. Hash関数
F.24. passwordcheck — パスワードの強度を検査する
F.25. pg_buffercache — PostgreSQLのバッファキャッシュの状態を確認する
F.25.1. pg_buffercacheビュー
F.25.2. pg_buffercache_summary()関数
F.25.3. pg_buffercache_usage_counts()関数
F.25.4. pg_buffercache_evict関数
F.25.5. サンプル出力
F.25.6. 作者
F.26. pgcrypto — 暗号関数
F.26.1. 汎用ハッシュ関数
F.26.2. パスワードハッシュ化関数
F.26.3. PGP暗号化関数
F.26.4. 暗号化そのものを行う関数
F.26.5. ランダムデータ関数
F.26.6. 注釈
F.26.7. 作者
F.27. pg_freespacemap — 空き領域マップを検査する
F.27.1. 関数
F.27.2. サンプル出力
F.27.3. 作者
F.28. pg_prewarm — リレーションデータをバッファキャッシュにプリロードする
F.28.1. 関数
F.28.2. 設定パラメータ
F.28.3. 作者
F.29. pgrowlocks — テーブルの行ロックの情報を示す
F.29.1. 概要
F.29.2. サンプル出力
F.29.3. 作者
F.30. pg_stat_statements — SQL文のプラン生成時と実行時の統計情報を記録する
F.30.1. pg_stat_statements ビュー
F.30.2. pg_stat_statements_infoビュー
F.30.3. 関数
F.30.4. 設定パラメータ
F.30.5. サンプル出力
F.30.6. 作者
F.31. pgstattuple — タプルレベルの統計情報を入手する
F.31.1. 関数
F.31.2. 作者
F.32. pg_surgery — リレーションデータに対して低レベルの手術を行う
F.32.1. 関数
F.32.2. 作者
F.33. pg_trgm — トライグラム一致を使ったテキストの類似度をサポートする
F.33.1. トライグラム(またはトリグラフ)の概念
F.33.2. 関数と演算子
F.33.3. GUCパラメータ
F.33.4. インデックスサポート
F.33.5. テキスト検索の統合
F.33.6. 参考
F.33.7. 作者
F.34. pg_visibility — 可視性マップ情報とユーティリティ
F.34.1. 関数
F.34.2. 作者
F.35. pg_walinspect — 低レベルのWAL検査
F.35.1. 一般的な関数
F.35.2. 作者
F.36. postgres_fdw — 外部のPostgreSQLサーバに格納されたデータにアクセスする
F.36.1. postgres_fdwの外部データラッパーオプション
F.36.2. 関数
F.36.3. 接続管理
F.36.4. トランザクション制御
F.36.5. リモート問い合わせの最適化
F.36.6. リモート問い合わせ実行環境
F.36.7. バージョン間互換性
F.36.8. 待機イベント
F.36.9. 設定パラメータ
F.36.10. 例
F.36.11. 作者
F.37. seg — 線分または浮動小数点区間のためのデータ型
F.37.1. 原理
F.37.2. 構文
F.37.3. 精度
F.37.4. 使用方法
F.37.5. 注釈
F.37.6. クレジット
F.38. sepgsql — SELinuxベースでラベルベースの強制アクセス制御(MAC)セキュリティモジュール
F.38.1. 概要
F.38.2. インストール
F.38.3. リグレッションテスト
F.38.4. GUCパラメータ
F.38.5. 機能
F.38.6. sepgsql関数
F.38.7. 制限事項
F.38.8. 外部リソース
F.38.9. 作者
F.39. spi — サーバプログラミングインタフェース機能/例
F.39.1. refint — 参照整合性を実装する関数
F.39.2. autoinc — フィールド自動増分用の関数
F.39.3. insert_username — 誰がテーブルを変更したかを追跡する関数
F.39.4. moddatetime — 最終更新時刻を追跡する関数
F.40. sslinfo — クライアントのSSL情報を取得する
F.40.1. 提供される関数
F.40.2. 作者
F.41. tablefunc — テーブルを返す関数(crosstab等)
F.41.1. 提供される関数
F.41.2. 作者
F.42. tcn — テーブルの内容の変更を監視者に通知するトリガ関数
F.43. test_decoding — SQLに基づくWALロジカルデコーディングのためのテストモジュール/モジュール例
F.44. tsm_system_rows — TABLESAMPLEに対するSYSTEM_ROWSサンプリングメソッド
F.44.1. 例
F.45. tsm_system_time — TABLESAMPLEに対するSYSTEM_TIMEサンプリングメソッド
F.45.1. 例
F.46. unaccent — 発音区分記号を取り除く全文検索用辞書
F.46.1. 設定
F.46.2. 使用方法
F.46.3. 関数
F.47. uuid-ossp — UUID生成器
F.47.1. uuid-ossp関数
F.47.2. uuid-osspの構築
F.47.3. 作者
F.48. xml2 — XPath問い合わせとXSLT機能
F.48.1. 廃止予定の可能性についてのお知らせ
F.48.2. 関数の説明
F.48.3. xpath_table
F.48.4. XSLT関数
F.48.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といった他の方法でサーバにロードされることに注意してください。 各コンポーネントの詳細はドキュメントを参照してください。