PostgreSQL启动恢复通过checkpoint open wal文件
2018-08-04 20:55
615 查看
StartupLOG:: ->record = ReadCheckpointRecord(xlogreader, ControlFile->checkPoint, 1, true) ->record = ReadRecord(xlogreader, ControlFile->checkPoint, LOG, true) ->record = XLogReadRecord(xlogreader, ControlFile->checkPoint, &errormsg); ->readOff = ReadPageInternal(state,ControlFile->checkPoint - (ControlFile->checkPoint % XLOG_BLCKSZ), Min(ontrolFile->checkPoint % XLOG_BLCKSZ + SizeOfXLogRecord, XLOG_BLCKSZ)); ->|--pageptr=ControlFile->checkPoint - (ControlFile->checkPoint % XLOG_BLCKSZ) |--targetPageOff = (pageptr % XLogSegSize);//段文件偏移 |--targetSegmentPtr = pageptr - targetPageOff; |--readLen = state->read_page(state, targetSegmentPtr(0?), XLOG_BLCKSZ,ControlFile->checkPoint, state->readBuf, &state->readPageTLI); ->WaitForWALToBecomeAvailable(targetSegmentPtr(0?) + XLOG_BLCKSZ,private->randAccess,1,targetRecPtr) ->readFile = XLogFileReadAnyTLI(targetSegmentPtr/XLogSegSize, DEBUG2,currentSource == XLOG_FROM_ARCHIVE ? XLOG_FROM_ANY :currentSource) ->fd = XLogFileRead(segno, emode, tli,XLOG_FROM_ARCHIVE或者XLOG_FROM_PG_WAL, true) ->fd = BasicOpenFile(path, O_RDONLY | PG_BINARY, 0); ->fd = open(fileName, fileFlags, fileMode)
相关文章推荐
- PostgreSQL启动恢复过程中日志源的切换
- Win7 中恢复通过 wubi 安装的 Ubuntu 启动引导
- PostgreSQL启动恢复读取checkpoint记录失败的条件
- Postgresql命令备份及恢复及免安装服务启动
- PostgreSQL如何用通过cmd创建数据库和还原(恢复)数据库
- 系统恢复后,通过sqlserver服务管理器启动出现“指定的服务未安装”的解决方法
- PostgreSQL启动恢复流程框架
- 系统恢复后,通过sqlserver服务管理器启动出现“指定的服务未安装”的解决方法
- PostgreSQL实战之启动恢复读取checkpoint记录失败的条件详解
- PostgreSQL启动恢复期间,恢复到的时间线的确定
- 不使用软件及硬件,电脑启动wifi,解决移动端通过电脑绑定host,无法访问服务器问题
- TCP/IP详解--拥塞控制 & 慢启动 快恢复 拥塞避免
- maven:通过自定义maven插件运行启动自定义应用服务
- 通过APP启动另一个App
- postgresql安装启动服务器以及uuid插件安装
- PostgreSQL启动过程中的那些事十二.五:启动系统日志进程syslogger
- 如何通过Intent启动一个已经安装好的APP
- android 通过包名 启动另外一个android应用程序
- adb通过包名启动app可能失败的原因
- 通过短信窃听器来讲解内容提供者,内容观察者,以及无界面后台运行服务,开机启动和杀死服务后重新启动