I'd like to add a description of what was done in v9:
- The patch is rebased on current master branch
- In-memory tuple storage format was refactored as promised to have pre-calculated 64bit xmin and xmax, not just copies of pd_xid_base and pd_multi_base.
- Fixed bug reported by Andres Freund, with lazy conversion of pages upgraded from 32 to 64 xid when first tuple read (and therefore lazy conversion) is done in read-only state (read-only xact or on replica). In this case now in memory buffer descriptor will be marked with REGBUF_CONVERTED flag. When cluster comes to read-write state this will lead to emitting full page write xlog instruction for this page.
Relevant changes in README are also done.
We'd very much appreciate enthusiasm to have 64 bit xid's in PG15 and any effort to review and test this feature.
Alexander, thanks for your attention to the patchset. Your questions and review are very much welcome!
The participation of other hackers is highly appreciated as always!