日志源会在XLOG_FROM_ARCHive->XLOG_FROM_STREAM->XLOG_FROM_ARCHIVE直接切换,只有读取过程中出错,就会切换到另外一个日志源。但实际执行过程中,X
日志源会在XLOG_FROM_ARCHive->XLOG_FROM_STREAM->XLOG_FROM_ARCHIVE直接切换,只有读取过程中出错,就会切换到另外一个日志源。但实际执行过程中,XLOG_FROM_ARCHIVE出错后会到XLOG_FROM_PG_WAL读取,但是日志源的变量并不会改变。这个需要注意。
static int
XLogFileReadAnyTLI(XLogSegNo segno, int emode, int source)
{
if (expectedTLEs)
tles = expectedTLEs;
else
tles = readTimeLineHistory(recoveryTargetTLI);
foreach(cell, tles){
TimeLineID tli = ((TimeLineHistoryEntry *) lfirst(cell))->tli;
if (tli < curFileTLI)
break;
if (source == XLOG_FROM_ANY || source == XLOG_FROM_ARCHIVE){
fd = XLogFileRead(segno, emode, tli,XLOG_FROM_ARCHIVE, true);
if (fd != -1){
if (!expectedTLEs)
expectedTLEs = tles;
return fd;
}
}
if (source == XLOG_FROM_ANY || source == XLOG_FROM_PG_WAL){
fd = XLogFileRead(segno, emode, tli, XLOG_FROM_PG_WAL, true);
if (fd != -1){
if (!expectedTLEs)
expectedTLEs = tles;
return fd;
}
}
}
return -1;
}
--结束END--
本文标题: PostgreSQL启动恢复过程中日志源的切换
本文链接: https://www.lsjlt.com/news/43308.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-05-16
2024-05-16
2024-05-16
2024-05-15
2024-05-15
2024-05-15
2024-05-15
2024-05-15
2024-05-15
2024-05-15
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0