3
这节主要讨论walwriter进程到了WalWriterMain,设置合适的信号处理句柄,创建一个资源属主以保持对本进程资源的跟踪,创建一个本进程的所有工作都在其内做的内存上下文"Wal Writer",创建这个内存上下文是为了本进程在错误恢复期间能重置context并且因此避免可能的内存泄漏。设置错误跳跃点。接着不堵塞信号(当postmaster进程fork本进程时用PG_SETMASK(&BlockSig)堵塞了他们)。然后进入无限循环,检查并处理任何请求或者最近收到的信号。然后调用XLogBackgroundFlush把相应XLOG写入事务日志文件。然后睡眠指定时间后再接着循环。
WalWriterMain方法的调用序列图
下面时WalWriterMain流程图