On Mon, May 1, 2023 at 12:01 PM Peter Geoghegan <p...@bowt.ie> wrote: > > If the XID space were non-circular, it could > > never try to reuse the XID values that have previously been used, and > > this entire class of problems would go away. Because it is circular, > > it's possible for the XID counter to arrive back at a place that it's > > been before i.e. it can wrap around. > > But integer wrap around isn't really aligned with anything important. > xidStopLimit will kick in when we're only halfway towards literal > integer wrap around. Users have practical concerns about avoiding > xidStopLimit -- what a world without xidStopLimit looks like just > doesn't matter. Just having some vague awareness of truncated XIDs > being insufficient at some point is all you really need, even if > you're an advanced user.
I disagree. If you start the cluster in single-user mode, you can actually wrap it around, unless something has changed that I don't know about. I'm not trying to debate the details of the patch, which I have not read. I am saying that, while wraparound is perhaps not a perfect term for what's happening, it is not, in my opinion, a bad term either. I don't think it's accurate to imagine that this is a 64-bit counter where we only store 32 bits on disk. We're trying to retcon that into being true, but we'd have to work significantly harder to actually make it true. -- Robert Haas EDB: http://www.enterprisedb.com