本章讨论了 PostgreSQL 中的规则系统。生产规则系统在概念上很简单,但实际上使用它们涉及许多微妙的点。
一些其他数据库系统定义了活动数据库规则,这些规则通常是存储过程和触发器。在 PostgreSQL 中,这些可以使用函数和触发器来实现。
规则系统(更准确地说,查询重写规则系统)与存储过程和触发器完全不同。它修改查询以考虑规则,然后将修改后的查询传递给查询规划器以进行规划和执行。它非常强大,可以用于许多事情,例如查询语言过程、视图和版本。[ston90b] 和 [ong90] 也讨论了这种规则系统的理论基础和力量。