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

WalWriterMain
方法的调用序列图
下面时
WalWriterMain
流程图

WalWriterMain
流程图
WalWriterMain
中主要是
调用
XLogBackgroundFlush
把相应
XLOG
写入事务日志文件。在
XLogBackgroundFlush
里,判断如果需要写(
1
不在恢复过程中,
2 XLOG
写请求位置
WriteRqstPtr
在上次写
XLOG
结果的刷出位置
LogwrtResultg.Flush
的后面)
XLOG
日志,调用
XLogWrite
方法,
写和
/
或文件同步
xlog
日志
至少到
WriteRqst
指明的位置,这是通过调用
write
和
issue_xlog_fsync
完成的,最后到了操作系统的
write
和
sync
接口。
------------
转载请著明出处,来自博客:
blog.csdn.net/beiigang
beigang.iteye.com

- 大小: 54.2 KB

- 大小: 35 KB
分享到:
相关推荐
1. **Postmaster**:这是PostgreSQL启动后创建的第一个进程,负责创建共享内存、初始化锁表和数据库缓冲区等内部数据结构,并监听用户请求,根据需要创建`postgres`进程来处理用户的服务请求。此进程在整个数据库...
- **主进程 (Master)**:通常指的是 `postmaster` 进程,负责监听客户端请求,并启动后端进程处理这些请求。 - **后端进程 (Postgres)**:每个查询执行时都会启动一个独立的后端进程。 - **数据写入器 (Datawriter)*...
postmaster负责启动服务器集群,监听客户请求,分派后台处理进程。辅助进程包括Syslogger、BgWriter、WalWriter、AutoVaccum和PgStat等。这些进程负责记录服务器运行中各类输出信息、回写“脏”数据缓冲区、回写WAL...
1. Postmaster(Daemon) Process,这是PostgreSQL启动时第一个启动的主后台驻留进程,它负责恢复和初始化共享内存,启动后台进程,并在有客户端请求连接时创建后端进程。 2. Background Process,包括多个后台进程如...
少儿编程scratch项目源代码文件案例素材-直升机飞行.zip
wanjunshe_Python-Tensorflow_12888_1745868924470
健康监测_Android开发_BLE蓝牙通信_心率数据采集与存储_基于小米手环2的实时心率监测应用_支持后台长时间运行的心率记录工具_可导出SQLite数据库的心率数据分析系统_适
少儿编程scratch项目源代码文件案例素材-种花模拟器.zip
嵌入式系统开发_FreeRTOS实时操作系统_STM32F103C8T6微控制器_OLED显示屏_DHT11温湿度传感器_多任务调度_多级菜单设计_万年历算法_电子闹钟功能_参数配
基于python实现的粒子群的VRP(车辆配送路径规划)问题建模求解+源码+项目文档+算法解析,适合毕业设计、课程设计、项目开发。项目源码已经过严格测试,可以放心参考并在此基础上延申使用,详情见md文档 算法设计的关键在于如何向表现较好的个体学习,标准粒子群算法引入惯性因子w、自我认知因子c1、社会认知因子c2分别作为自身、当代最优解和历史最优解的权重,指导粒子速度和位置的更新,这在求解函数极值问题时比较容易实现,而在VRP问题上,速度位置的更新则难以直接采用加权的方式进行,一个常见的方法是采用基于遗传算法交叉算子的混合型粒子群算法进行求解,这里采用顺序交叉算子,对惯性因子w、自我认知因子c1、社会认知因子c2则以w/(w+c1+c2),c1/(w+c1+c2),c2/(w+c1+c2)的概率接受粒子本身、当前最优解、全局最优解交叉的父代之一(即按概率选择其中一个作为父代,不加权)。 算法设计的关键在于如何向表现较好的个体学习,标准粒子群算法引入惯性因子w、自我认知因子c1、社会认知因子c2分别作为自身、当代最优解和历史最优解的权重,指导粒子速度和位置的更新,这在求解函数极值问题时比较容易实现,而在VRP问题上,速度位置的更新则难以直接采用加权的方式进行,一个常见的方法是采用基于遗传算法交叉算子的混合型粒子群算法进行求解,这里采用顺序交叉算子,对惯性因子w、自我认知因子c1、社会认知因子c2则以w/(w+c1+c2),c1/(w+c1+c2),c2/(w+c1+c2)的概率接受粒子本身、当前最优解、全局最优解交叉的父代之一(即按概率选择其中一个作为父代,不加权)。
scratch少儿编程逻辑思维游戏源码-猫猫粉碎.zip
scratch少儿编程逻辑思维游戏源码-蓝胡子.zip
scratch少儿编程逻辑思维游戏源码-美食大亨.zip
scratch少儿编程逻辑思维游戏源码-洛克人.zip
scratch少儿编程逻辑思维游戏源码-龙冲刺.zip
思幻个人引导页V2.2版本11月29日更新.zip
scratch少儿编程逻辑思维游戏源码-骑士风斩法.zip
移动应用开发_H5CSS3ionicng-cordovaMVVM模式_基于HTML5和CSS3技术实现多页面布局ionic指令数据绑定ui-route单页跳转调用手机
少儿编程scratch项目源代码文件案例素材-植物大战僵尸创造版 Ver. 1.0.3.zip
scratch少儿编程逻辑思维游戏源码-日落(2).zip