PostgreSQL 支持一个强大的 规则系统,用于指定 视图 和不明确的 视图更新。最初 PostgreSQL 规则系统包含两个实现
第一个使用 行级 处理,并在 执行器 深处实现。规则系统在访问单个行时被调用。此实现已在 1995 年移除,当时 Berkeley Postgres 项目的最后一个正式版本被转换为 Postgres95。
规则系统的第二个实现是一种称为 查询重写 的技术。 重写系统 是一个位于 解析阶段 和 计划程序/优化器 之间的模块。此技术仍在实现中。
查询重写器在 第 39 章 中进行了详细讨论,因此无需在此处进行介绍。我们只指出重写器的输入和输出都是查询树,也就是说,树的表示或语义细节级别没有改变。重写可以被认为是一种宏扩展形式。
如果您在文档中发现任何不正确的内容,与您对特定功能的体验不符,或者需要进一步说明,请使用 此表单 报告文档问题。