Chapter 38. 规则系统

Table of Contents

  • 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里,这些东西也可以通过函数和触发器来实现。

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