后台代码主要集中在 backend下面各个目录 access 物理表 index的实现 bootstrap 初始化模块 catalog 数据字典模块, commands ddl命令实现 executor 执行器 lib 辅助模块,双向list libpq 前后台通信 main main入口 Makefile nls.mk nodes query结构采用nodes表示,辅助模块 optimizer 优化器 parser 语法语义分析 po 多语言, port 不同操作系统特殊用法 postmaster 启动进程,后台进程,autovacumm等 regex regular expression rewrite 查询重写,一般实现view storage 底层存储,文件buff等 tcop sql语句调度中心 utils 内存管理,函数调用,错误处理等 最基本语句执行流程 PostgresMain-》exec_simple_query (sql语句字符串) pg_parse_query 语法分析 lex & yacc pg_analyze_and_rewrite 语义分析 以及rewrite pg_plan_queries 优化 PortalRun 实际执行