2025年9月25日: PostgreSQL 18 发布!
支持的版本: 当前 (18) / 17 / 16 / 15 / 14 / 13
开发版本: devel
不支持的版本: 12 / 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

51.4. PostgreSQL 规则系统 #

PostgreSQL 支持强大的规则系统,用于定义视图和模糊视图更新。最初,PostgreSQL 规则系统包含两种实现方式。

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

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

查询重写器在 第 39 章 中有详细讨论,因此此处不再赘述。我们只指出重写器的输入和输出都是查询树,也就是说,树的表示形式或语义细节级别没有改变。重写可以被视为一种宏展开形式。

提交更正

如果您在文档中发现任何不正确、与您实际使用该功能不符或需要进一步说明的内容,请使用 此表格 报告文档问题。