diff --git a/src/backend/cdb/cdbdistributedsnapshot.c b/src/backend/cdb/cdbdistributedsnapshot.c index 698171a5c80e9c589d0dac5e6347aabad6c8c424..f64587835708709d768f23f7a082697234a43244 100644 --- a/src/backend/cdb/cdbdistributedsnapshot.c +++ b/src/backend/cdb/cdbdistributedsnapshot.c @@ -69,6 +69,13 @@ localXidSatisfiesAnyDistributedSnapshot(TransactionId localXid) if (!IsUnderPostmaster || !IsNormalProcessingMode()) return false; + /* + * During upgrade, there is no distributed system to query, and no way a + * distributed transaction could be looking at a tuple right now. + */ + if (IsBinaryUpgrade) + return false; + /* * If don't have snapshot, can't check the global visibility and hence * return not to perform clean the tuple.