Re: Add 64-bit XIDs into PostgreSQL 15

Yura Sokolov <y.sokolov@postgrespro.ru>

From: Yura Sokolov <y.sokolov@postgrespro.ru>
To: Andrey Borodin <x4mmm@yandex-team.ru>, Maxim Orlov <orlovmg@gmail.com>
Cc: Evgeny Voropaev <evgeny.voropaev@tantorlabs.com>, PostgreSQL Hackers <pgsql-hackers@postgresql.org>
Date: 2025-07-04T09:25:03Z
Lists: pgsql-hackers

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

04.07.2025 11:31, Andrey Borodin wrote:
> 
> 
>> On 2 Jul 2025, at 18:38, Maxim Orlov <orlovmg@gmail.com> wrote:
>>
>> If you 
>> know of any real problems, please tell me
> 
> If I understood correctly, pages can differ on primary and standby. That might be problematic for WAL debug tests.

They may differ. They differ even now. It is normal.

That is why when you enable "wal_consistency_checking" (developer option,
not present in sample postgresql.conf), pages are masked: allowed to be
different pieces are zeroed (pages hint bits, tuple hint bits, space
between pd_lower and pd_upper).

Before last version, empty space between tuples with
"repair_fragmentation=false" was certainly possible source of difference
not masked by standard mask procedure. But now those holes are zeroed.

-- 
regards
Yura Sokolov aka funny-falcon