From 03666dfa1817ef602ef982a766b983efd43c460f Mon Sep 17 00:00:00 2001 From: Fujii Masao Date: Fri, 18 Oct 2019 22:24:18 +0900 Subject: Make crash recovery ignore recovery_min_apply_delay setting. In v11 or before, this setting could not take effect in crash recovery because it's specified in recovery.conf and crash recovery always starts without recovery.conf. But commit 2dedf4d9a8 integrated recovery.conf into postgresql.conf and which unexpectedly allowed this setting to take effect even in crash recovery. This is definitely not good behavior. To fix the issue, this commit makes crash recovery always ignore recovery_min_apply_delay setting. Back-patch to v12 where the issue was added. Author: Fujii Masao Reviewed-by: Michael Paquier Discussion: https://postgr.es/m/CAHGQGwEyD6HdZLfdWc+95g=VQFPR4zQL4n+yHxQgGEGjaSVheQ@mail.gmail.com Discussion: https://postgr.es/m/e445616d-023e-a268-8aa1-67b8b335340c@pgmasters.net --- src/backend/access/transam/xlog.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src') diff --git a/src/backend/access/transam/xlog.c b/src/backend/access/transam/xlog.c index a85aa835d38..861297bda5e 100644 --- a/src/backend/access/transam/xlog.c +++ b/src/backend/access/transam/xlog.c @@ -5977,6 +5977,10 @@ recoveryApplyDelay(XLogReaderState *record) if (!reachedConsistency) return false; + /* nothing to do if crash recovery is requested */ + if (!ArchiveRecoveryRequested) + return false; + /* * Is it a COMMIT record? * -- cgit v1.2.3