diff --git a/src/backend/postmaster/checkpointer.c b/src/backend/postmaster/checkpointer.c index 11bbe2c..df18326 100644 --- a/src/backend/postmaster/checkpointer.c +++ b/src/backend/postmaster/checkpointer.c @@ -543,10 +543,10 @@ CheckpointerMain(void) if (elapsed_secs >= CheckPointTimeout) continue; /* no sleep for us ... */ cur_timeout = CheckPointTimeout - elapsed_secs; - if (XLogArchiveTimeout > 0 && !RecoveryInProgress()) + if (XLogArchiveTimeout > 0) { elapsed_secs = now - last_xlog_switch_time; - if (elapsed_secs >= XLogArchiveTimeout) + if (elapsed_secs >= XLogArchiveTimeout && !RecoveryInProgress()) continue; /* no sleep for us ... */ cur_timeout = Min(cur_timeout, XLogArchiveTimeout - elapsed_secs); }