Boot
| 函数名 |
核心功能 |
关键细节 |
exec_simple_query |
执行简单 SQL(单命令) |
执行 SQL:解析 → 重写 → 优化 → 执行 |
PostgresMain |
后端主函数 |
循环处理多命令,关联 MessageContext/row_description_context |
BackendRun |
运行后端逻辑 |
切换内存上下文至 TopMemoryContext |
BackendStartup |
创建后端进程 |
fork_process 创建子进程,失败返回-1 |
ServerLoop |
服务器事件循环 |
等待并处理客户端连接 |
PostmasterMain |
主进程主循环 |
读取配置,监听连接,管理子进程,PostmasterContext=TopMemoryContext |
main |
程序入口 |
初始化环境,分配 TopMemoryContext,调用 PostmasterMain |
main
PostmasterMain
InitProcessGlobals()
CreateDataDirLockFile() // create postmaster.pid
ServerLoop
BackendStartup
fork_process
BackendRun
PostgresMain(port->database_name, port->user_name);
exec_simple_query(query_string);