PostgreSQL启动恢复期间,恢复到的时间线的确定
admin
2023-05-20 22:42:35
0

1、启动恢复时,确定恢复到的时间线recoveryTargetTLI

1)归档恢复点比checkpoint中记录的时间线大,那么选择归档恢复点作为目标时间线

2)否则,checkpoint记录中的时间线作为目标时间线

StartupXLOG->
	if (ControlFile->minRecoveryPointTLI >
		ControlFile->checkPointCopy.ThisTimeLineID)
		recoveryTargetTLI = ControlFile->minRecoveryPointTLI;
	else
		recoveryTargetTLI = ControlFile->checkPointCopy.ThisTimeLineID;
	...

2、接着从recovery.conf文件中读取

1)若设置了recovery_target_timeline值,并且设为latest,那么history列表最大的时间线即为目标时间线

2)否则是recovery.conf文件中设置的时间线值

3)若没有设置recovery_target_timeline值,则目标时间线为第一步中的值

StartupXLOG->readRecoveryCommandFile()->
	for (item = head; item; item = item->next){
		if (strcmp(item->name, "restore_command") == 0){
			...
		}else if ...
		else if(strcmp(item->name, "recovery_target_timeline") == 0){
			rtliGiven = true;
			if (strcmp(item->value, "latest") == 0)
				rtli = 0;
			else
				rtli = (TimeLineID) strtoul(item->value, NULL, 0);
		}else if...
	}
	if (rtliGiven){
		if (rtli){
			recoveryTargetTLI = rtli;
			recoveryTargetIsLatest = false;
		}else{
			/* We start the "latest" search from pg_control's timeline */
			recoveryTargetTLI = findNewestTimeLine(recoveryTargetTLI);
			recoveryTargetIsLatest = true;
		}
	}


相关内容

热门资讯

汇艺银河里首届微醺节圆满收官 ... 多元业态协同联动,探索郑东商圈夜间消费新场景首届汇艺银河里微醺节圆满收官。活动立足郑州高铁东站商圈核...
西班牙警方:约7.35万名移民... △8月3日,西班牙北非飞地休达,从摩洛哥入境的移民聚集在海滩上。当地时间8月3日,西班牙警方表示,约...
美军称继续海上封锁伊朗,已改变... 当地时间8月3日,美国中央司令部表示,美军继续严格执行对伊朗的海上封锁。截至当天,美军已改变44艘商...
“控制”格陵兰岛,特朗普罕见列... 据美国《新闻周刊》和英国《独立报》8月2日报道,美国总统特朗普日前在接受采访时声称,格陵兰岛将在他本...
脑机接口,新突破,深度布局的1... (来源:逍遥财情) 8月1日,两项关于脑机接口行业的新国家标准开始实施,这两项标准相当于为整个行业制...
特朗普:与伊朗的谈判已开始,计... 当地时间8月3日,美国总统特朗普在社交平台“真实社交”(Truth Social)发文称,与伊朗的谈...
唐山电缆测绘现场案例 唐山电缆测绘现场案例 探测背景: 本次服务对象为唐山某测绘公司,因后期甲方需开展开挖作业,需提前明确...
聚焦能源与前沿科技!山西启动重... 为持续完善全省科技创新平台体系,夯实基础研究根基、打通科技成果产业化链条,加快培育新质生产力,赋能全...
四川:到2026年底推动阿里云... 《四川省推进算力设施优化布局提质建设和算电融合发展实施方案(2026—2028年)》近日印发。其中提...
瑙鲁正式更改国名 △瑙鲁(资料图)瑙鲁共和国政府日前在社交媒体上发布公告说,该国国名已由“Nauru”正式更改为“Na...