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