*** a/src/backend/access/heap/heapam.c --- b/src/backend/access/heap/heapam.c *************** *** 4105,4116 **** heap_tuple_needs_freeze(HeapTupleHeader tuple, TransactionId cutoff_xid, TransactionIdPrecedes(xid, cutoff_xid)) return true; ! if (!(tuple->t_infomask & HEAP_XMAX_IS_MULTI)) { ! xid = HeapTupleHeaderGetXmax(tuple); ! if (TransactionIdIsNormal(xid) && ! TransactionIdPrecedes(xid, cutoff_xid)) ! return true; } if (tuple->t_infomask & HEAP_MOVED) --- 4105,4119 ---- TransactionIdPrecedes(xid, cutoff_xid)) return true; ! if (!(tuple->t_infomask & HEAP_XMAX_INVALID)) { ! if (!(tuple->t_infomask & HEAP_XMAX_IS_MULTI)) ! { ! xid = HeapTupleHeaderGetXmax(tuple); ! if (TransactionIdIsNormal(xid) && ! TransactionIdPrecedes(xid, cutoff_xid)) ! return true; ! } } if (tuple->t_infomask & HEAP_MOVED)