death114 发表于 2016-11-21 08:18:57

PostgreSQL启动过程中的那些事九_十_十一:初始化活跃backend进程列表、创建opts文件、保持非默认GUC参数文件

    现在离数据库启动过程的高潮startdatabase只有几步之遥,这几步比较简单,简要描述之。
    这几步包括:
       八:设置虚拟文件描述符
       九:初始化活跃backend进程列表
       十:创建opts文件
       十一:保存非默认GUC参数到文件
       十二:为postmaster进程安装信号句柄
       十三:为统计进程启动准备资源
       十四:为autovuc进程启动做条件检查
       十五:加载客户端认证配置文件
       本节包括九、十、十一。
       这一节pg在postmaster启动时初始化一个双向链表,用来管理后面处理客户端请求的活跃backend进程(postgres后台服务进程)。
       接着在数据集目录data下创建一个opts文件postmaster.opts,里面记录的内容是启动pg的命令:postgres.exe –D ../data。这个文件的作用是什么?
  
       然后把非默认的GUC参数写入二进制文件config_exec_params,放在路径data/global/下面,这个是为所有未来提供服务的backend服务进程准备的。
       上个图,看一下函数调用过程梗概,中间略过部分细节



 
  
页: [1]
查看完整版本: PostgreSQL启动过程中的那些事九_十_十一:初始化活跃backend进程列表、创建opts文件、保持非默认GUC参数文件