diff options
-rw-r--r-- | doc/src/sgml/recovery-config.sgml | 5 | ||||
-rw-r--r-- | src/backend/access/transam/xlog.c | 4 |
2 files changed, 7 insertions, 2 deletions
diff --git a/doc/src/sgml/recovery-config.sgml b/doc/src/sgml/recovery-config.sgml index 22d1332b8b4..26af221745c 100644 --- a/doc/src/sgml/recovery-config.sgml +++ b/doc/src/sgml/recovery-config.sgml @@ -462,8 +462,9 @@ restore_command = 'copy "C:\\server\\archivedir\\%f" "%p"' # Windows are not visible until the corresponding commit record is applied. </para> <para> - The delay occurs until the standby is promoted or triggered. After that - the standby will end recovery without further waiting. + The delay occurs once the database in recovery has reached a consistent + state, until the standby is promoted or triggered. After that the standby + will end recovery without further waiting. </para> <para> This parameter is intended for use with streaming replication deployments; diff --git a/src/backend/access/transam/xlog.c b/src/backend/access/transam/xlog.c index 94b79ac49d5..00f139a0f38 100644 --- a/src/backend/access/transam/xlog.c +++ b/src/backend/access/transam/xlog.c @@ -5715,6 +5715,10 @@ recoveryApplyDelay(XLogReaderState *record) if (recovery_min_apply_delay <= 0) return false; + /* no delay is applied on a database not yet consistent */ + if (!reachedConsistency) + return false; + /* * Is it a COMMIT record? * |