From b6eb46e376e40f3e2e9a55d16b1b37b27904564b Mon Sep 17 00:00:00 2001 From: Andres Freund Date: Thu, 4 May 2017 16:40:52 -0700 Subject: [PATCH 1/2] WIP: Fix off-by-one around GetLastImportantRecPtr. --- src/backend/postmaster/bgwriter.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/backend/postmaster/bgwriter.c b/src/backend/postmaster/bgwriter.c index dcb4cf249c..d409d977c0 100644 --- a/src/backend/postmaster/bgwriter.c +++ b/src/backend/postmaster/bgwriter.c @@ -325,10 +325,11 @@ BackgroundWriterMain(void) /* * Only log if enough time has passed and interesting records have - * been inserted since the last snapshot. + * been inserted since the last snapshot (it's <= because + * last_snapshot_lsn points at the end+1 of the record). */ if (now >= timeout && - last_snapshot_lsn < GetLastImportantRecPtr()) + last_snapshot_lsn <= GetLastImportantRecPtr()) { last_snapshot_lsn = LogStandbySnapshot(); last_snapshot_ts = now; -- 2.12.0.264.gd6db3f2165.dirty