diff --git a/src/backend/access/heap/heapam.c b/src/backend/access/heap/heapam.c index 2a494f59f4cf44a1c4a6751645d7920733d05ce3..44ef948f5049a66e1f6e626f0213d7eef66f9ea0 100644 --- a/src/backend/access/heap/heapam.c +++ b/src/backend/access/heap/heapam.c @@ -4725,7 +4725,13 @@ heap_xlog_freeze(XLogRecPtr lsn, XLogRecord *record) * consider the frozen xids as running. */ if (InHotStandby) - ResolveRecoveryConflictWithSnapshot(cutoff_xid, xlrec->node); + { + TransactionId latestRemovedXid = cutoff_xid; + + TransactionIdRetreat(latestRemovedXid); + + ResolveRecoveryConflictWithSnapshot(latestRemovedXid, rnode); + } /* If we have a full-page image, restore it and we're done */ if (record->xl_info & XLR_BKP_BLOCK(0))