xlog_redo(XLogReaderState *record):
uint8 info = XLogRecGetInfo(record) & ~XLR_INFO_MASK;
XLogRecPtr lsn = record->EndRecPtr;
if (info == XLOG_NEXTOID){
...
}...
else if (info == XLOG_BACKUP_END){
memcpy(&startpoint, XLogRecGetData(record), sizeof(startpoint));
if (ControlFile->backupStartPoint == startpoint){
if (ControlFile->minRecoveryPoint < lsn){
ControlFile->minRecoveryPoint = lsn;
ControlFile->minRecoveryPointTLI = ThisTimeLineID;
}
}
}else if (info == XLOG_PARAMETER_CHANGE){
if (minRecoveryPoint != 0 && minRecoveryPoint < lsn){
ControlFile->minRecoveryPoint = lsn;
ControlFile->minRecoveryPointTLI &
PostgreSQL的minRecoveryPoint
最新推荐文章于 2024-06-19 10:17:36 发布
本文深入探讨了PostgreSQL数据库中的minRecoveryPoint概念,它是恢复过程中一个重要的里程碑。minRecoveryPoint标志着系统在故障后能够保证一致性的最早点。通过分析minRecoveryPoint的设置与作用,读者将了解其在保证数据完整性和事务一致性方面的重要性。
摘要由CSDN通过智能技术生成