StartupLOG:: ->record = ReadCheckpointRecord(xlogreader, ControlFile->checkPoint, 1, true) -
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)
--结束END--
本文标题: PostgreSQL启动恢复通过checkpoint open wal文件
本文链接: https://www.lsjlt.com/news/41240.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-04-29
2024-04-29
2024-04-29
2024-04-29
2024-04-29
2024-04-29
2024-04-29
2024-04-29
2024-04-29
2024-04-28
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0