diff --git a/src/backend/access/transam/timeline.c b/src/backend/access/transam/timeline.c index 51b37ca8f8c2febf5ba4914a3d76c57e0d1ad4db..921da62c22adcc62cbe8c6d90426953271180c16 100644 --- a/src/backend/access/transam/timeline.c +++ b/src/backend/access/transam/timeline.c @@ -92,7 +92,7 @@ readTimeLineHistory(TimeLineID targetTLI) return list_make1(entry); } - if (InArchiveRecovery) + if (ArchiveRecoveryRequested) { TLHistoryFileName(histfname, targetTLI); fromArchive = @@ -213,7 +213,7 @@ existsTimeLineHistory(TimeLineID probeTLI) if (probeTLI == 1) return false; - if (InArchiveRecovery) + if (ArchiveRecoveryRequested) { TLHistoryFileName(histfname, probeTLI); RestoreArchivedFile(path, histfname, "RECOVERYHISTORY", 0, false); @@ -316,7 +316,7 @@ writeTimeLineHistory(TimeLineID newTLI, TimeLineID parentTLI, /* * If a history file exists for the parent, copy it verbatim */ - if (InArchiveRecovery) + if (ArchiveRecoveryRequested) { TLHistoryFileName(histfname, parentTLI); RestoreArchivedFile(path, histfname, "RECOVERYHISTORY", 0, false); diff --git a/src/backend/access/transam/xlog.c b/src/backend/access/transam/xlog.c index d960bbcc208a607e7a359de155e2f281913f907d..a02eebcb27af04176f6984803b6ff2d263ecbd80 100644 --- a/src/backend/access/transam/xlog.c +++ b/src/backend/access/transam/xlog.c @@ -200,7 +200,7 @@ static int LocalXLogInsertAllowed = -1; * will switch to using offline XLOG archives as soon as we reach the end of * WAL in pg_xlog. */ -static bool ArchiveRecoveryRequested = false; +bool ArchiveRecoveryRequested = false; bool InArchiveRecovery = false; /* Was the last xlog file restored from archive, or local? */ @@ -4339,11 +4339,6 @@ readRecoveryCommandFile(void) */ if (rtliGiven) { - /* - * Temporarily set InArchiveRecovery, so that existsTimeLineHistory - * or findNewestTimeLine below will check the archive. - */ - InArchiveRecovery = true; if (rtli) { /* Timeline 1 does not have a history file, all else should */ @@ -4360,7 +4355,6 @@ readRecoveryCommandFile(void) recoveryTargetTLI = findNewestTimeLine(recoveryTargetTLI); recoveryTargetIsLatest = true; } - InArchiveRecovery = false; } FreeConfigVariables(head); diff --git a/src/include/access/xlog_internal.h b/src/include/access/xlog_internal.h index c996c3c3ad867b8678a6971d4bfbc0d00231764f..351bb31d56c560f68256a6cfc0f284fec623f0fa 100644 --- a/src/include/access/xlog_internal.h +++ b/src/include/access/xlog_internal.h @@ -263,6 +263,7 @@ extern void GetOldestRestartPoint(XLogRecPtr *oldrecptr, TimeLineID *oldtli); * Exported for the functions in timeline.c and xlogarchive.c. Only valid * in the startup process. */ +extern bool ArchiveRecoveryRequested; extern bool InArchiveRecovery; extern bool StandbyMode; extern char *recoveryRestoreCommand;