★PostgreSQLカンファレンス2024 12月6日開催/チケット販売中★
他のバージョンの文書 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

第41章 ルールシステム

目次

41.1. 問い合わせツリーとは
41.2. ビューとルールシステム
41.2.1. SELECTルールの動き
41.2.2. 非SELECT文のビュールール
41.2.3. PostgreSQLにおけるビューの能力
41.2.4. ビューの更新について
41.3. マテリアライズドビュー
41.4. INSERTUPDATEDELETEについてのルール
41.4.1. 更新ルールの動作
41.4.2. ビューとの協調
41.5. ルールと権限
41.6. ルールおよびコマンドの状態
41.7. ルール対トリガ

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

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

ルールシステム(より正確に言うと問い合わせ書き換えルールシステム)はストアドプロシージャとトリガとはまったく異なります。 ルールシステムはルールを参照して問い合わせを修正し、修正した問い合わせを、計画作成と実行のために問い合わせプランナに渡します。 これは非常に強力なため、問い合わせ言語プロシージャ、ビューあるいはバージョンなど多くのパターンで使用することができます。 このルールシステムの基礎理論と能力は[ston90b]および[ong90]で解説されています。