Re: Add 64-bit XIDs into PostgreSQL 15
Robert Haas <robertmhaas@gmail.com>
From: Robert Haas <robertmhaas@gmail.com>
To: Heikki Linnakangas <hlinnaka@iki.fi>
Cc: Maxim Orlov <orlovmg@gmail.com>, 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-08T01:27:55Z
Lists: pgsql-hackers
On Sat, Feb 7, 2026 at 5:57 PM Heikki Linnakangas <hlinnaka@iki.fi> wrote: > On 25/11/2025 08:12, Maxim Orlov wrote: > > -typedef uint32 TransactionId; > > +typedef uint64 TransactionId; > > I'm not sure I'm on board with this, BTW. My hunch is this'll be a much > smaller patch if you mostly stick to 32-bit representation in memory. We introduced FullTransactionId -- and a lot of supporting infrastructure -- for cases where we do want 64-bit XIDs in memory, so I would say redefining TransactionId to be the same thing makes no sense at all. There might be more places where we want to replace TransactionId with FullTransactionId, but flattening the two together can't possibly be the right thing. -- Robert Haas EDB: http://www.enterprisedb.com
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Add SLRU tests for 64-bit page case
- a60b8a58f435 17.0 landed
-
Make use FullTransactionId in 2PC filenames
- 5a1dfde8334b 17.0 landed
-
Use larger segment file names for pg_notify
- 2cdf131c46e6 17.0 landed
-
Index SLRUs by 64-bit integers rather than by 32-bit integers
- 4ed8f0913bfd 17.0 landed