他のバージョンの文書 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

第 38章ルールシステム

目次
38.1. 問い合わせツリーとは
38.2. ビューとルールシステム
38.2.1. SELECTルールの動き
38.2.2. SELECT文のビュールール
38.2.3. PostgreSQLにおけるビューの能力
38.2.4. ビューの更新について
38.3. マテリアライズドビュー
38.4. INSERTUPDATEDELETEについてのルール
38.4.1. 更新ルールの動作
38.4.2. ビューとの協調
38.5. ルールと権限
38.6. ルールおよびコマンドの状態
38.7. ルール対トリガ

本章ではPostgreSQLのルールシステムについて説明します。 本番で稼働するルールシステムは概念としては単純ですが、実際に使ってみると、わかりにくいところが少なからずあります。

通常それらはストアドプロシージャとトリガですが、他のいくつかのデータベースシステムは能動的データベースルールを定義しています。 PostgreSQLでは関数とトリガとして実装されています。

ルールシステム(より正確に言うと問い合わせ書き換えルールシステム)はストアドプロシージャとトリガとはまったく異なります。 ルールシステムはルールを参照して問い合わせを修正し、修正した問い合わせを、計画作成と実行のために問い合わせプランナに渡します。 これは非常に強力なため、問い合わせ言語プロシージャ、ビューあるいはバージョンなど多くのパターンで使用することができます。 このルールシステムの基礎理論と能力は On Rules, Procedures, Caching and Views in Database Systems およびA Unified Framework for Version Modeling Using Production Rules in a Database Systemで解説されています。