PostgreSQL 9.3.1 中文手册 | ||||
---|---|---|---|---|
上一页 | 上一级 | 章 46. PostgreSQL内部概述 | 下一页 |
PostgreSQL有一个强大的规则系统, 用以描述视图和不明确的视图更新。 最初的PostgreSQL规则系统由两个实现组成:
第一个能用的规则系统采用行级别的处理, 是在执行器的深层实现的。每次访问一条独立的行时都要调用规则系统。 这个实现在 1995 年被删除了,那时伯克力 Postgres 项目的最后一个官方版本正转换成Postgres95。
第二个规则系统的实现是一个叫做查询重写的技术。 重写系统是一个存在于分析器阶段和 规划器/优化器之间的模块。这个技术已经实现。
查询重写在第 38 章里有比较详细的讨论,这里不再赘述。 只需要说明重写器的输入和输出都是查询树,也就是说,在树的语义细节的表现或者层次方面没有变化。 可以把重写系统当作某种宏展开的机制。