On Mon, Sep 21, 2020 at 2:21 PM Tom Lane <t...@sss.pgh.pa.us> wrote: > Right, but what we end up with is that the very same tuple xmin and > xmax might result in pruning/deletion, or not, depending on whether > it's part of a HOT chain or not. That's at best pretty weird, and > at worst it means that corner-case bugs in other places are triggered > in only one of the two scenarios ... which is what we have here.
I'm not sure I really understand how that's happening, because surely HOT chains and non-HOT chains are pruned by the same code, but it doesn't sound good. > FWIW, weakening the sanity checks in heap_prepare_freeze_tuple is > *not* my preferred fix here. But it'll take some work in other > places to preserve them. Make sense. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company