From: Andres Freund Date: Sun, 7 Jun 2015 22:30:26 +0000 (+0200) Subject: Allow HotStandbyActiveInReplay() to be called in single user mode. X-Git-Tag: REL9_3_9~3 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=82f81ba0852a3d732b39aae131a9fae419fee4a6;p=thirdparty%2Fpostgresql.git Allow HotStandbyActiveInReplay() to be called in single user mode. HotStandbyActiveInReplay, introduced in 061b079f, only allowed WAL replay to happen in the startup process, missing the single user case. This buglet is fairly harmless as it only causes problems when single user mode in an assertion enabled build is used to replay a btree vacuum record. Backpatch to 9.2. 061b079f was backpatched further, but the assertion was not. --- diff --git a/src/backend/access/transam/xlog.c b/src/backend/access/transam/xlog.c index b974b3d438a..9d160daa6ce 100644 --- a/src/backend/access/transam/xlog.c +++ b/src/backend/access/transam/xlog.c @@ -6442,7 +6442,7 @@ HotStandbyActive(void) bool HotStandbyActiveInReplay(void) { - Assert(AmStartupProcess()); + Assert(AmStartupProcess() || !IsPostmasterEnvironment); return LocalHotStandbyActive; }