0. 相关联文件
- postmaster.c
- ilist.h
1. 启动 background worker(s)
Postgres内核在 PostmasterMain() 函数中初始化 postmaster 守护进程时候,通过 maybe_start_bgworkers() 函数开始尝试启动 background worker(s)。
-  若时机恰当,则启动 background worker(s)。 
-  作为一种附带影响,bgworker 控制变量会依据是否需要启动更多 workers 而被设定或重置。 
我们对每次调用所启动的 workers数量加以限制,以防在有众多此类请求处于待处理状态时过长时间占用 postmaster 的注意力。只要 StartWorkerNeeded 为真,ServerLoop() 就不会阻塞,并会在处理完其他任何问题之后再次调用此函数。

 调用链路如下:



















