aboutsummaryrefslogtreecommitdiff
path: root/src/backend/access/transam/xlog.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend/access/transam/xlog.c')
-rw-r--r--src/backend/access/transam/xlog.c17
1 files changed, 14 insertions, 3 deletions
diff --git a/src/backend/access/transam/xlog.c b/src/backend/access/transam/xlog.c
index f887dc28788..ba839f941fc 100644
--- a/src/backend/access/transam/xlog.c
+++ b/src/backend/access/transam/xlog.c
@@ -7,7 +7,7 @@
* Portions Copyright (c) 1996-2010, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
- * $PostgreSQL: pgsql/src/backend/access/transam/xlog.c,v 1.401 2010/04/20 11:15:06 rhaas Exp $
+ * $PostgreSQL: pgsql/src/backend/access/transam/xlog.c,v 1.402 2010/04/23 19:57:18 sriggs Exp $
*
*-------------------------------------------------------------------------
*/
@@ -5568,7 +5568,12 @@ CheckRequiredParameterValues(CheckPoint checkPoint)
RecoveryRequiresIntParameter("max_locks_per_xact",
max_locks_per_xact, checkPoint.max_locks_per_xact);
- if (!checkPoint.XLogStandbyInfoMode)
+ /*
+ * Hot Standby currently only depends upon the presence of WAL
+ * records as indicated by XLOG_MODE_HOT_STANDBY. There is no current
+ * dependency on whether archiving or streaming are enabled, if either.
+ */
+ if (!(checkPoint.XLogModeFlags & XLOG_MODE_HOT_STANDBY))
ereport(ERROR,
(errmsg("recovery connections cannot start because the recovery_connections "
"parameter is disabled on the WAL source server")));
@@ -7002,7 +7007,13 @@ CreateCheckPoint(int flags)
checkPoint.MaxConnections = MaxConnections;
checkPoint.max_prepared_xacts = max_prepared_xacts;
checkPoint.max_locks_per_xact = max_locks_per_xact;
- checkPoint.XLogStandbyInfoMode = XLogStandbyInfoActive();
+
+ if (XLogArchivingActive())
+ checkPoint.XLogModeFlags |= XLOG_MODE_ARCHIVING;
+ if (max_wal_senders > 0)
+ checkPoint.XLogModeFlags |= XLOG_MODE_STREAMING;
+ if (XLogRequestRecoveryConnections)
+ checkPoint.XLogModeFlags |= XLOG_MODE_HOT_STANDBY;
/*
* We must hold WALInsertLock while examining insert state to determine