From e45af918ff67c936d34728c6acf04dc62074f691 Mon Sep 17 00:00:00 2001 From: Petr Jelinek Date: Sun, 26 Feb 2017 01:07:33 +0100 Subject: [PATCH 3/5] Prevent snapshot builder xmin from going backwards --- src/backend/replication/logical/snapbuild.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/backend/replication/logical/snapbuild.c b/src/backend/replication/logical/snapbuild.c index b742c79..1e8346d 100644 --- a/src/backend/replication/logical/snapbuild.c +++ b/src/backend/replication/logical/snapbuild.c @@ -1141,7 +1141,8 @@ SnapBuildProcessRunningXacts(SnapBuild *builder, XLogRecPtr lsn, xl_running_xact * looking, it's correct and actually more efficient this way since we hit * fast paths in tqual.c. */ - builder->xmin = running->oldestRunningXid; + if (TransactionIdFollowsOrEquals(running->oldestRunningXid, builder->xmin)) + builder->xmin = running->oldestRunningXid; /* Remove transactions we don't need to keep track off anymore */ SnapBuildPurgeCommittedTxn(builder); -- 2.7.4