支持的版本:当前 (16) / 15 / 14 / 13 / 12
开发版本:devel
Unsupported versions: 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2 / 8.1 / 8.0 / 7.4 / 7.3 / 7.2 / 7.1

52.4. PostgreSQL 规则系统 #

PostgreSQL 支持一个功能强大的规则系统,用于指定视图和模棱两可的视图更新。最初,PostgreSQL 规则系统包含两个实现

  • 第一个使用行级处理,并在执行器中深度实现。每当访问到单独的行时,都会调用规则系统。当Berkeley Postgres 项目的最后一个官方版本转变为Postgres95 时,该实现于 1995 年被移除。

  • 规则系统的第二个实现是一种称为查询重写的技术。重写系统是一个模块,存在于解析器阶段规划器/优化器之间。此技术仍在实现中。

查询重写器在第 41 章中有详细讨论,因此这里无需介绍。我们只会指出重写器的输入和输出都是查询树,也就是说,树中的表示或语义细节级别没有变化。重写可以看作一种宏扩展形式。

提交更正

如果您在文档中看到任何不正确、与您对特定功能的体验不符或需要进一步澄清的内容,请使用此表单报告文档问题。