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