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:48:14 +0000 (14:48 +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 e3d5e106b9196a366c21b1e218b3681e6c85a7bb..cdbe305f952f1b77d663d379c06bf5d26b200edd 100644 (file)
@@ -6187,7 +6187,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"),
@@ -6198,7 +6198,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,