]> granicus.if.org Git - postgresql/commitdiff
Fix thinko in previous commit.
authorHeikki Linnakangas <heikki.linnakangas@iki.fi>
Fri, 22 Feb 2013 11:07:02 +0000 (13:07 +0200)
committerHeikki Linnakangas <heikki.linnakangas@iki.fi>
Fri, 22 Feb 2013 11:07:02 +0000 (13:07 +0200)
We must still initialize minRecoveryPoint if we start straight with archive
recovery, e.g when recovering from a normal base backup taken with
pg_start/stop_backup. Otherwise we never consider the system consistent.

src/backend/access/transam/xlog.c

index d47d0d916bf33187ad8c402d2c4a03905de7fa31..92adc4e9fed9773ca8dd2356770a2d8ef10aa23f 100644 (file)
@@ -6580,6 +6580,12 @@ StartupXLOG(void)
                ControlFile->prevCheckPoint = ControlFile->checkPoint;
                ControlFile->checkPoint = checkPointLoc;
                ControlFile->checkPointCopy = checkPoint;
+               if (InArchiveRecovery)
+               {
+                       /* initialize minRecoveryPoint if not set yet */
+                       if (XLByteLT(ControlFile->minRecoveryPoint, checkPoint.redo))
+                               ControlFile->minRecoveryPoint = checkPoint.redo;
+               }
 
                /*
                 * Set backupStartPoint if we're starting recovery from a base backup.