Re: Add 64-bit XIDs into PostgreSQL 15

Heikki Linnakangas <hlinnaka@iki.fi>

From: Heikki Linnakangas <hlinnaka@iki.fi>
To: Maxim Orlov <orlovmg@gmail.com>, Bruce Momjian <bruce@momjian.us>
Cc: Robert Haas <robertmhaas@gmail.com>, Andres Freund <andres@anarazel.de>, Yura Sokolov <y.sokolov@postgrespro.ru>, Evgeny Voropaev <evgeny.voropaev@tantorlabs.com>, PostgreSQL Hackers <pgsql-hackers@postgresql.org>, Andrey Borodin <x4mmm@yandex-team.ru>
Date: 2026-02-27T14:30:37Z
Lists: pgsql-hackers
On 27/02/2026 16:21, Maxim Orlov wrote:
> I just wanted to share my work-in-progress on switching the clog to 64
> bits. So far, I've only dealt with the clog itself. Right now, support
> for the x86 platform is lacking. But the first two patches are
> refactorings and can be committed promptly.
> 
> What are your thoughts on this?

This is not useful, until we have an epoch on heap pages, and can deal 
with 64-bit XIDs in many other places too. But it *would* be useful to 
have an epoch on heap pages without this patch. It eliminates the need 
to dirty pages when freezing, when there are no dead tuples.  So I'd 
suggest starting with epochs on heap pages.

- Heikki




Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Add SLRU tests for 64-bit page case

  2. Make use FullTransactionId in 2PC filenames

  3. Use larger segment file names for pg_notify

  4. Index SLRUs by 64-bit integers rather than by 32-bit integers