首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

PostgreSQL启动恢复读取checkpoint记录失败的条件

1、首先读取ControlFile->checkPoint指向的checkpoint 2、如果读取失败,slave直接abort退出,master再次读取ControlFile->prevCheckPoint指向的checkpoint StartupXLOG->     |--checkPointLoc = ControlFile->checkPoint;     |--record = ReadCheckpointRecord(xlogreader, checkPointLoc, 1, true):     |-- if (record != NULL){           ...         }else if (StandbyMode){             ereport(PANIC,(errmsg("could not locate a valid checkpoint record")));         }else{             checkPointLoc = ControlFile->prevCheckPoint;             record = ReadCheckpointRecord(xlogreader, checkPointLoc, 2, true);             if (record != NULL){                 InRecovery = true;//标记下面进入recovery             }else{                 ereport(PANIC,(errmsg("could not locate a valid checkpoint record")));             }         }

00
领券