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

ここでは、ユーザ定義の関数、データ型、演算子、トリガなどを使用してサーバの機能を拡張する方法についてを説明します。 これらはおそらく、PostgreSQLに関するユーザ向けの文書を理解した後にのみ辿り着く先進的な話題です。 ここでは、また、PostgreSQLに附属するサーバサイドのプログラミング言語についても説明します。 同時にサーバサイドのプログラミング言語に関する一般的な問題についても説明します。 この情報は、最初の数章を少なくとも読破した読者のみに有用なものです。

目次
33章SQL の拡張
33.1. 拡張の作用法
33.2. PostgreSQLの型システム
33.3. ユーザ定義関数
33.4. 問い合わせ言語 (SQL) 関数
33.5. 手続き型言語関数
33.6. 内部関数
33.7. C言語関数
33.8. 関数のオーバーロード
33.9. ユーザ定義の集約
33.10. ユーザ定義の型
33.11. ユーザ定義の演算子
33.12. 演算子最適化に関する情報
33.13. インデックス拡張機能へのインタフェース
34章ルールシステム
34.1. 問い合わせツリーとは
34.2. ビューとルールシステム
34.3. INSERTUPDATEDELETEについてのルール
34.4. ルールと権限
34.5. ルールおよびコマンドの状態
34.6. ルール対トリガ
35章トリガ
35.1. トリガ動作の概要
35.2. データ変更の可視性
35.3. Cによるトリガ関数の作成
35.4. 完全な例
36章手続き言語
36.1. 手続き言語のインストール
37章PL/pgSQL - SQL手続き言語
37.1. 概要
37.2. PL/pgSQLによる開発向けのヒント
37.3. PL/pgSQLの構造
37.4. 宣言
37.5.
37.6. 基本的な文
37.7. 制御構造
37.8. カーソル
37.9. エラーとメッセージ
37.10. トリガプロシージャ
37.11. Oracle PL/SQLからの移植
38章PL/Tcl - Tcl 手続き型言語
38.1. 概要
38.2. PL/Tcl 関数と引数
38.3. PL/Tclにおけるデータの値
38.4. PL/Tclにおけるグローバルデータ
38.5. PL/Tclからのデータベースアクセス
38.6. PL/Tcl のトリガプロシージャ
38.7. モジュールと unknown コマンド
38.8. Tcl プロシージャ名
39章PL/Perl - Perl 手続き言語
39.1. PL/Perl関数と引数
39.2. PL/Perlにおけるデータ値
39.3. PL/Perlからのデータベースアクセス
39.4. 信頼されたPL/Perlおよび信頼されないPL/Perl
39.5. 存在しない機能
40章PL/Python - Python 手続き言語
40.1. PL/Python 関数
40.2. トリガ関数
40.3. データベースアクセス
41章サーバプログラミングインタフェース
41.1. インタフェース関数
41.2. インタフェースサポート関数
41.3. メモリ管理
41.4. データ変更の可視性
41.5.