On Tue, Jun 14, 2022 at 7:12 PM Álvaro Herrera <alvherre@xxxxxxxxxxxxxx> wrote: > - Maybe you promoted a standby in some wrong way. I don't know what this entails, but I've seen it claimed that failing to follow the documented procedures exactly, you might end up with broken data pages. This instance is very unlikely to ever be promoted to master, at least not in the recent 5 years while it resides at it's current machine). The instance has been upgraded a number of times though with pg_upgrade, recently from 11->14. > - Maybe there's some bug in amcheck that causes it to report tuple with an old xmax but which in reality are frozen? I don't think this is very likely, but In order to discard this hypothesis, you'd have to show the output of `heap_page_items` from the pages in question, or at least give some thought to the bits in `t_infomask`. I've run verify_heapam() in a loop for a single table. Some runs it shows nothing (i've seen three consequent empty runs), and on each run it shows something - it reports different pages. Running verify_heapam() in a transaction still results in the same kind of different output. Running it under a LOCK TABLES always (11 runs) results in no output. So I can't get a page to dump it's content - it's never the same. Does this means it's unlikely to be a VACUUM-related issue? Best regards, Sergey Aleynikov