初始化部分(Initialization)
bootstrap:和系统表相关。
main:传递参数到后台的pg进程。
postmaster:控制pg服务开关,创建共享内存,循环等待连接并分配服务。
tcop:交警,分配请求到对应模块如解析器、优化器、执行器和命令行功能。
parser:把sql语句转化成查询执行树。
rewrite:规则和视图支持部分。
optimizer:优化查询路径生成计划。
optimizer_path:生成所有可能的路径,检查表连接顺序,where条件限制,优化表的统计信息,对于可执行的计划评估开销。
optimizer_geqo:遗传(或者是祖传?)查询优化器评估的路径对于要连接的表,当表的数量很少时会给很优化的结果,表太大就直接给一个一般的,可以通过参数控制是否使用这个功能。
optimizer_plan:拿着“optimizer_path”的结果输出最小开销的路径。
optimizer_prep:处理特殊的查询计划。
optimizer_util:优化支持部分。
executor:执行复杂的计划包括,增删改查。算子举例:堆扫描、索引扫描、排序、连接、聚合、分组、去重等。
指令支持(Command Support)