|
|
|
|
@ -6410,10 +6410,12 @@ StartupXLOG(void) |
|
|
|
|
oldestActiveXID = checkPoint.oldestActiveXid; |
|
|
|
|
Assert(TransactionIdIsValid(oldestActiveXID)); |
|
|
|
|
|
|
|
|
|
/* Startup commit log and related stuff */ |
|
|
|
|
/*
|
|
|
|
|
* Startup commit log and subtrans only. Other SLRUs are not |
|
|
|
|
* maintained during recovery and need not be started yet. |
|
|
|
|
*/ |
|
|
|
|
StartupCLOG(); |
|
|
|
|
StartupSUBTRANS(oldestActiveXID); |
|
|
|
|
StartupMultiXact(); |
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* If we're beginning at a shutdown checkpoint, we know that |
|
|
|
|
@ -6914,16 +6916,21 @@ StartupXLOG(void) |
|
|
|
|
TransactionIdRetreat(ShmemVariableCache->latestCompletedXid); |
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* Start up the commit log and related stuff, too. In hot standby mode we |
|
|
|
|
* did this already before WAL replay. |
|
|
|
|
* Start up the commit log and subtrans, if not already done for |
|
|
|
|
* hot standby. |
|
|
|
|
*/ |
|
|
|
|
if (standbyState == STANDBY_DISABLED) |
|
|
|
|
{ |
|
|
|
|
StartupCLOG(); |
|
|
|
|
StartupSUBTRANS(oldestActiveXID); |
|
|
|
|
StartupMultiXact(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* Perform end of recovery actions for any SLRUs that need it. |
|
|
|
|
*/ |
|
|
|
|
StartupMultiXact(); |
|
|
|
|
TrimCLOG(); |
|
|
|
|
|
|
|
|
|
/* Reload shared-memory state for prepared transactions */ |
|
|
|
|
RecoverPreparedTransactions(); |
|
|
|
|
|
|
|
|
|
|