著者: Jan Wieckによって書かれました。7.1用にTom Laneが更新しました。
本番で稼働するルールシステムは概念としては単純ですが、実際に使ってみると、わかりにくいところが少なからずあります。これらいくつかのわかりにくいところと、PostgreSQLのルールシステムにおける基本的な理論についてはOn Rules, Procedures, Caching and Views in Database Systemsに書かれています。
他のいくつかのデータベースシステムは能動的データベースルールを定義しています。通常それらはストアドプロシージャとトリガですが、PostgreSQLでは関数とトリガとして実装されています。
問い合わせ書き換えシステム(以降ルールシステムと呼びます)はストアドプロシージャとトリガとはまったく異なります。ルールシステムはルールを参照して問い合わせを修正し、修正した問い合わせを、計画作成と実行のために問い合わせプランナに渡します。これは非常に強力なため、問い合わせ言語プロシージャ、ビューあるいはバージョンなど多くのパターンで使用することができます。このルールシステムの能力はA Unified Framework for Version Modeling Using Production Rules in a Database SystemやOn Rules, Procedures, Caching and Views in Database Systemsで解説されています。