章 39. 规则系统
- 目录
- 39.1. 查询树
- 39.2. 视图和规则系统
-
- 39.2.1. SELECT规则如何工作
- 39.2.2. 非SELECT语句中的视图规则
- 39.2.3. PostgreSQL中视图的能力
- 39.2.4. 更新一个视图
- 39.3. 物化视图
- 39.4. INSERT、UPDATE和DELETE上的规则
- 39.5. 规则和权限
- 39.6. 规则和命令状态
- 39.7. 规则 vs 触发器
本章讨论PostgreSQL中的规则系统。产生规则系统的概念很简单,但是在实际使用的时候会碰到很多细节问题。
某些其它数据库系统定义活动的数据库规则,通常是存储过程和触发器。在PostgreSQL中,这些东西可以通过函数和触发器来实现。
规则系统(更准确地说是查询重写规则系统)与存储过程和触发器完全不同。它把查询修改为需要考虑规则,并且然后把修改过的查询传递给查询规划器进行规划和执行。它非常强大,并且可以被用于许多东西如查询语言过程、视图和版本。这个规则系统的理论基础和能力也在 On Rules, Procedures, Caching and Views in Database Systems 和A Unified Framework for Version Modeling Using Production Rules in a Database System中讨论。