バージョンごとのドキュメント一覧

パート V. サーバプログラミング

<title>Server Programming</title>

This part is about extending the server functionality with user-defined functions, data types, triggers, etc. These are advanced topics which should probably be approached only after all the other user documentation about <productname>PostgreSQL</productname> has been understood. Later chapters in this part describe the server-side programming languages available in the <productname>PostgreSQL</productname> distribution as well as general issues concerning server-side programming languages. It is essential to read at least the earlier sections of <xref linkend="extend"/> (covering functions) before diving into the material about server-side programming languages. ここでは、ユーザ定義の関数、データ型、演算子、トリガなどを使用してサーバの機能を拡張する方法について説明します。 これらはおそらく、PostgreSQLに関するユーザ向けの文書を理解した後にのみたどり着く先進的な話題です。 また、最後の数章でPostgreSQLに附属するサーバサイドのプログラミング言語についても説明します。 同時にサーバサイドのプログラミング言語に関する一般的な問題についても説明します。 サーバサイドのプログラミング言語の章に進む前に、少なくとも、第38章(関数も説明しています)の最初の数節を読破することは重要です。

目次

38. SQLの拡張
38.1. 拡張の作用法
38.2. PostgreSQLの型システム
38.3. ユーザ定義関数
38.4. ユーザ定義プロシージャ
38.5. 問い合わせ言語(SQL)関数
38.6. 関数のオーバーロード
38.7. 関数の変動性分類
38.8. 手続き型言語関数
38.9. 内部関数
38.10. C言語関数
38.11. 関数最適化に関する情報
38.12. ユーザ定義の集約
38.13. ユーザ定義の型
38.14. ユーザ定義の演算子
38.15. 演算子最適化に関する情報
38.16. インデックス拡張機能へのインタフェース
38.17. 関連するオブジェクトを拡張としてパッケージ化
38.18. 拡張構築基盤
39. トリガ
39.1. トリガ動作の概要
39.2. データ変更の可視性
39.3. Cによるトリガ関数の作成
39.4. 完全なトリガの例
40. イベントトリガ
40.1. イベントトリガ動作の概要
40.2. イベントトリガ起動マトリクス
40.3. C言語によるイベントトリガ関数の書き方
40.4. 完全なイベントトリガの例
40.5. テーブル書き換えイベントトリガの例
41. ルールシステム
41.1. 問い合わせツリーとは
41.2. ビューとルールシステム
41.3. マテリアライズドビュー
41.4. INSERTUPDATEDELETEについてのルール
41.5. ルールと権限
41.6. ルールおよびコマンドの状態
41.7. ルール対トリガ
42. 手続き言語
42.1. 手続き言語のインストール
43. PL/pgSQLSQL手続き言語
43.1. 概要
43.2. PL/pgSQLの構造
43.3. 宣言
43.4. 式
43.5. 基本的な文
43.6. 制御構造
43.7. カーソル
43.8. トランザクション制御
43.9. エラーとメッセージ
43.10. トリガ関数
43.11. PL/pgSQLの秘訣
43.12. PL/pgSQLによる開発向けのヒント
43.13. Oracle PL/SQLからの移植
44. PL/Tcl — Tcl手続き言語
44.1. 概要
44.2. PL/Tcl関数と引数
44.3. PL/Tclにおけるデータの値
44.4. PL/Tclにおけるグローバルデータ
44.5. PL/Tclからのデータベースアクセス
44.6. PL/Tclのトリガ関数
44.7. PL/Tclにおけるイベントトリガ関数
44.8. PL/Tclのエラー処理
44.9. PL/Tclにおける明示的サブトランザクション
44.10. トランザクション制御
44.11. PL/Tclの設定
44.12. Tclプロシージャ名
45. PL/Perl — Perl手続き言語
45.1. PL/Perl関数と引数
45.2. PL/Perlにおけるデータ値
45.3. 組み込み関数
45.4. PL/Perlにおけるグローバルな値
45.5. 信頼されたPL/Perlおよび信頼されないPL/Perl
45.6. PL/Perlトリガ
45.7. PL/Perlイベントトリガ
45.8. PL/Perlの内部
46. PL/Python — Python手続き言語
46.1. PL/Python関数
46.2. データ値
46.3. データの共有
46.4. 匿名コードブロック
46.5. トリガ関数
46.6. データベースアクセス
46.7. 明示的サブトランザクション
46.8. トランザクション制御
46.9. ユーティリティ関数
46.10. Python 2対Python 3
46.11. 環境変数
47. サーバプログラミングインタフェース
47.1. インタフェース関数
47.2. インタフェースサポート関数
47.3. メモリ管理
47.4. トランザクション制御
47.5. データ変更の可視性
47.6. 例
48. バックグラウンドワーカープロセス
49. ロジカルデコーディング
49.1. ロジカルデコーディングの例
49.2. ロジカルデコーディングのコンセプト
49.3. ストリームレプリケーションプロトコルインタフェース
49.4. ロジカルデコーディングSQLインタフェース
49.5. ロジカルデコーディング関連のシステムカタログ
49.6. ロジカルデコーディングの出力プラグイン
49.7. ロジカルデコーディング出力ライタ
49.8. ロジカルデコーディングにおける同期レプリケーションのサポート
49.9. ロジカルデコーディングための大規模トランザクションのストリーミング
49.10. ロジカルデコーディングための2相コミット
50. レプリケーション進捗の追跡
51. アーカイブモジュール
51.1. 初期化関数
51.2. アーカイブモジュールコールバック
doc/src/sgml/extend.sgml doc/src/sgml/trigger.sgml doc/src/sgml/event-trigger.sgml doc/src/sgml/rules.sgml doc/src/sgml/xplang.sgml doc/src/sgml/plpgsql.sgml doc/src/sgml/pltcl.sgml doc/src/sgml/plperl.sgml doc/src/sgml/plpython.sgml doc/src/sgml/spi.sgml doc/src/sgml/bgworker.sgml doc/src/sgml/logicaldecoding.sgml doc/src/sgml/replication-origins.sgml doc/src/sgml/archive-modules.sgml