diff --git a/src/backend/postmaster/bgwriter.c b/src/backend/postmaster/bgwriter.c index 654e4f8bd5..00f03d8acb 100644 --- a/src/backend/postmaster/bgwriter.c +++ b/src/backend/postmaster/bgwriter.c @@ -330,11 +330,8 @@ BackgroundWriterMain(void) if (now >= timeout && last_snapshot_lsn != GetXLogInsertRecPtr()) { - XLogRecPtr log_standby_lsn = LogStandbySnapshot(); - + last_snapshot_lsn = LogStandbySnapshot(); last_snapshot_ts = now; - if (!XLogRecPtrIsInvalid(log_standby_lsn)) - last_snapshot_lsn = log_standby_lsn; } } diff --git a/src/backend/storage/ipc/standby.c b/src/backend/storage/ipc/standby.c index 8b9b438ca9..6a9bf842d3 100644 --- a/src/backend/storage/ipc/standby.c +++ b/src/backend/storage/ipc/standby.c @@ -902,7 +902,6 @@ LogStandbySnapshot(void) RunningTransactions running; xl_standby_lock *locks; int nlocks; - static bool last_snapshot_overflowed = false; Assert(XLogStandbyInfoActive()); @@ -933,28 +932,8 @@ LogStandbySnapshot(void) * only a shared lock. */ if (wal_level < WAL_LEVEL_LOGICAL) - { LWLockRelease(ProcArrayLock); - /* - * Don't bother to log anything if nothing is happening, if we are - * using archive_timeout > 0 and we didn't overflow snapshot last time. - * - * This ensures that we don't issue an empty WAL record, which can - * be annoying when used in conjunction with archive timeout. - */ - if (running->xcnt == 0 && - nlocks == 0 && - XLogArchiveTimeout > 0 && - !last_snapshot_overflowed) - { - LWLockRelease(XidGenLock); - return InvalidXLogRecPtr; - } - - last_snapshot_overflowed = running->subxid_overflow; - } - recptr = LogCurrentRunningXacts(running); /* Release lock if we kept it longer ... */