diff --git a/src/backend/replication/walsender.c b/src/backend/replication/walsender.c index 3a076f447ef..5f902fada57 100644 --- a/src/backend/replication/walsender.c +++ b/src/backend/replication/walsender.c @@ -1859,8 +1859,8 @@ WalSndWaitForWal(XLogRecPtr loc) * otherwise we'd possibly end up waiting for WAL that never gets * written, because walwriter has shut down already. */ - if (got_STOPPING) - XLogBackgroundFlush(); + if (got_STOPPING && !RecoveryInProgress()) + XLogFlush(GetXLogInsertRecPtr()); /* * To avoid the scenario where standbys need to catch up to a newer