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

パート 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 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. 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. 《マッチ度[88.161994]》ここでは、ユーザ定義の関数、データ型、演算子、トリガなどを使用してサーバの機能を拡張する方法について説明します。 これらはおそらく、PostgreSQLに関するユーザ向けの文書を理解した後にのみたどり着く先進的な話題です。 また、最後の数章でPostgreSQLに附属するサーバサイドのプログラミング言語についても説明します。 同時にサーバサイドのプログラミング言語に関する一般的な問題についても説明します。 サーバサイドのプログラミング言語の章に進む前に、少なくとも、第36章(関数も説明しています)の最初の数節を読破することは重要です。 《機械翻訳》この部分では、ユーザ定義関数、データ型、トリガなどを使用してサーバの機能を拡張する方法について説明します。 これらは高度なトピックであり、PostgreSQLに関する他のユーザドキュメントをすべて理解した後にのみアプローチする必要があります。 このパートの後の章では、PostgreSQL配布物で利用可能なサーバ側プログラミング言語と、サーバ側プログラミングに関する一般的な問題について説明します。 サーバ側プログラミングに関する資料を読む前に、第36章の前半部分 (関数を扱う部分) を読んでおくことが必須です。

目次

36. SQLの拡張
36.1. 拡張の作用法
36.2. PostgreSQLの型システム
36.3. ユーザ定義関数
36.4. ユーザ定義プロシージャ
36.5. 問い合わせ言語(SQL)関数
36.6. 関数のオーバーロード
36.7. 関数の変動性分類
36.8. 手続き型言語関数
36.9. 内部関数
36.10. C言語関数
36.11. 関数最適化に関する情報
36.12. ユーザ定義の集約
36.13. ユーザ定義の型
36.14. ユーザ定義の演算子
36.15. 演算子最適化に関する情報
36.16. インデックス拡張機能へのインタフェース
36.17. 関連するオブジェクトを拡張としてパッケージ化
36.18. 拡張構築基盤
37. トリガ
37.1. トリガ動作の概要
37.2. データ変更の可視性
37.3. Cによるトリガ関数の作成
37.4. 完全なトリガの例
38. イベントトリガ
38.1. イベントトリガ動作の概要
38.2. イベントトリガ起動マトリクス
38.3. C言語によるイベントトリガ関数の書き方
38.4. 完全なイベントトリガの例
38.5. テーブル書き換えイベントトリガの例
38.6. A Database Login Event Trigger Example
39. ルールシステム
39.1. 問い合わせツリーとは
39.2. ビューとルールシステム
39.3. マテリアライズドビュー
39.4. INSERTUPDATEDELETEについてのルール
39.5. ルールと権限
39.6. ルールおよびコマンドの状態
39.7. ルール対トリガ
40. 手続き言語
40.1. 手続き言語のインストール
41. PL/pgSQLSQL手続き言語
41.1. 概要
41.2. PL/pgSQLの構造
41.3. 宣言
41.4. 式
41.5. 基本的な文
41.6. 制御構造
41.7. カーソル
41.8. トランザクション制御
41.9. エラーとメッセージ
41.10. トリガ関数
41.11. PL/pgSQLの秘訣
41.12. PL/pgSQLによる開発向けのヒント
41.13. Oracle PL/SQLからの移植
42. PL/Tcl — Tcl手続き言語
42.1. 概要
42.2. PL/Tcl関数と引数
42.3. PL/Tclにおけるデータの値
42.4. PL/Tclにおけるグローバルデータ
42.5. PL/Tclからのデータベースアクセス
42.6. PL/Tclのトリガ関数
42.7. PL/Tclにおけるイベントトリガ関数
42.8. PL/Tclのエラー処理
42.9. PL/Tclにおける明示的サブトランザクション
42.10. トランザクション制御
42.11. PL/Tclの設定
42.12. Tclプロシージャ名
43. PL/Perl — Perl手続き言語
43.1. PL/Perl関数と引数
43.2. PL/Perlにおけるデータ値
43.3. 組み込み関数
43.4. PL/Perlにおけるグローバルな値
43.5. 信頼されたPL/Perlおよび信頼されないPL/Perl
43.6. PL/Perlトリガ
43.7. PL/Perlイベントトリガ
43.8. PL/Perlの内部
44. PL/Python — Python手続き言語
44.1. PL/Python関数
44.2. データ値
44.3. データの共有
44.4. 匿名コードブロック
44.5. トリガ関数
44.6. データベースアクセス
44.7. 明示的サブトランザクション
44.8. トランザクション制御
44.9. ユーティリティ関数
44.10. Python 2対Python 3
44.11. 環境変数
45. サーバプログラミングインタフェース
45.1. インタフェース関数
45.2. インタフェースサポート関数
45.3. メモリ管理
45.4. トランザクション制御
45.5. データ変更の可視性
45.6. 例
46. バックグラウンドワーカープロセス
47. ロジカルデコーディング
47.1. ロジカルデコーディングの例
47.2. ロジカルデコーディングのコンセプト
47.3. ストリーミングレプリケーションプロトコルインタフェース
47.4. ロジカルデコーディングSQLインタフェース
47.5. ロジカルデコーディング関連のシステムカタログ
47.6. ロジカルデコーディングの出力プラグイン
47.7. ロジカルデコーディング出力ライタ
47.8. ロジカルデコーディングにおける同期レプリケーションのサポート
47.9. ロジカルデコーディングための大規模トランザクションのストリーミング
47.10. ロジカルデコーディングための2相コミット
48. レプリケーション進捗の追跡
49. アーカイブモジュール
49.1. 初期化関数
49.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