On Wed, Aug 3, 2022 at 4:20 PM Andres Freund <and...@anarazel.de> wrote: > > I don't really like this approach. Imagine that the code got broken in > > such a way that relfrozenxid and relminmxid were set to a value chosen > > at random - say, the contents of 4 bytes of unallocated memory that > > contained random garbage. Well, right now, the chances that this would > > cause a test failure are nearly 100%. With this change, they'd be > > nearly 0%. > > Can't that pretty easily be addressed by subsequently querying txid_current(), > and checking that the value isn't newer than that?
Hmm, maybe. The old cluster shouldn't have wrapped around ever, since we just created it. So the value in the new cluster should be >= that value and <= the result of txid_curent() ignoring wraparound. Or we could disable autovacuum on the new cluster, which I think is a better solution. I like it when things match exactly; it makes me feel that the universe is well-ordered. -- Robert Haas EDB: http://www.enterprisedb.com