connection --> parser --> rewrite --> planner --> executor
- 应用程序与PostgreSQL服务建立连接,应用程序发送一个查询到服务端并接收服务端返回的应答。
- parser阶段校验查询语句的正确语法并且创建一个查询树
- rewrite系统得到parser阶段查询的查询树,寻找规则应用到查询树并且执行规则体的转变。
- planner得到重写的查询树并且创建一个查询计划作为执行器的输入。它先创建导向相同结果的所有路径,下一步计算每个计划的花销,选择一个最便宜的返回。
- executor 循环遍历计划树获取元组数据。