章 38. 规则系统

目录
38.1. 查询树
38.2. 视图和规则系统
38.2.1. SELECT规则如何运转
38.2.2. SELECT 语句的视图规则
38.2.3. PostgreSQL里视图的强大能力
38.2.4. 更新一个视图
38.3. 物化视图
38.4. INSERT, UPDATE, 和 DELETE上的规则
38.4.1. 更新规则是如何运转的
38.4.2. 与视图合作
38.5. 规则和权限
38.6. 规则和命令状态
38.7. 规则与触发器的比较

本章讨论PostgreSQL里的规则系统。 生产规则系统的概念是很简单的,但是在实际使用的时候会碰到很多细节问题。

有些其它数据库系统定义动态的数据库规则。这些通常是存储过程和触发器, 在PostgreSQL里,这些东西也可以通过函数和触发器来实现。

规则系统(更准确地说是查询重写规则系统)是和存储过程和触发器完全不同的东西。 它把查询修改为需要考虑规则的形式,然后把修改过的查询传递给查询规划器执行。 这是非常有效的工具并且可以用于许多像查询语言过程、视图、版本等。 这个规则系统的理论基础和能力在 数据库系统中的规则,过程,缓存和视图 数据库系统中为版本模型使用生产规则的统一框架里有讨论。