]> granicus.if.org Git - postgresql/commitdiff
Do wal_level and hot standby checks when doing crash-then-archive recovery.
authorHeikki Linnakangas <heikki.linnakangas@iki.fi>
Wed, 5 Mar 2014 12:41:55 +0000 (14:41 +0200)
committerHeikki Linnakangas <heikki.linnakangas@iki.fi>
Wed, 5 Mar 2014 12:46:56 +0000 (14:46 +0200)
CheckRequiredParameterValues() should perform the checks if archive recovery
was requested, even if we are going to perform crash recovery first.

Reported by Kyotaro HORIGUCHI. Backpatch to 9.2, like the crash-then-archive
recovery mode.

src/backend/access/transam/xlog.c

index a36354feb9bf5a186f60b3bdf119a0d82b0dc1da..559ec58f86b63806ccd930adad1333e9fac85bae 100644 (file)
@@ -4815,7 +4815,7 @@ CheckRequiredParameterValues(void)
         * For archive recovery, the WAL must be generated with at least 'archive'
         * wal_level.
         */
-       if (InArchiveRecovery && ControlFile->wal_level == WAL_LEVEL_MINIMAL)
+       if (ArchiveRecoveryRequested && ControlFile->wal_level == WAL_LEVEL_MINIMAL)
        {
                ereport(WARNING,
                                (errmsg("WAL was generated with wal_level=minimal, data may be missing"),
@@ -4826,7 +4826,7 @@ CheckRequiredParameterValues(void)
         * For Hot Standby, the WAL must be generated with 'hot_standby' mode, and
         * we must have at least as many backend slots as the primary.
         */
-       if (InArchiveRecovery && EnableHotStandby)
+       if (ArchiveRecoveryRequested && EnableHotStandby)
        {
                if (ControlFile->wal_level < WAL_LEVEL_HOT_STANDBY)
                        ereport(ERROR,