Thomas Munro <thomas.mu...@gmail.com> writes: > On Fri, Jan 27, 2023 at 11:14 AM Tom Lane <t...@sss.pgh.pa.us> wrote: >> If any tuples made by that transaction had reached disk, >> we'd have a problem.
> The problem is that the WAL wasn't flushed, allowing the same xid to > be allocated again after crash recovery. But for any data pages to > hit the disk, we'd have to flush WAL first, so then it couldn't > happen, no? Ah, now I get the point: the "committed xact" seen after restart isn't the same one as we saw before the crash, but a new one that was given the same XID because nothing about the old one had made it to disk yet. > FWIW I also re-complained about the dangers of anyone > relying on pg_xact_status() for its stated purpose after seeing > tanager's failure[1]. Indeed, it seems like this behavior makes pg_xact_status() basically useless as things stand. regards, tom lane