Re: Add 64-bit XIDs into PostgreSQL 15

Evgeny <evorop@gmail.com>

From: Evgeny <evorop@gmail.com>
To: pgsql-hackers@lists.postgresql.org
Date: 2024-12-08T17:17:17Z
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

Attachments

**

*Hello! *

*

The next edition of the xid64 patch has been implemented.

In the presented  version:

1) gathered patches MXIDOFFSETv9 [1], GUC64v2 [2], xid64 (v52-v55) (the 
latest versions from the relevant threads have been used);

2) the resulted patches have been rebased onto the current master 
(3f9b9621766);

3) implemented the HeapTupleCopyRawXidsFromPage. This function avoids 
substitution of xids and returns their real values even in a case of a 
frozen tuple;

4) fixed issues revealed by tests;

5) in addition, fixed the "stale xid64" problem at the 
heapam_tuple_satisfies_snapshot function. This issue mostly appeared in 
practice as the "missing chunk" error during operations on TOASTs of the 
pg_statistic table.

*

**

*Looking forward to cooperation and review,*

*

Evgeny Voropaev,

TantorLabs, LLC.

<evorop@gmail.com>

<evgeny.voropaev@tantorlabs.ru>

*

**

*[1] MXIDOFFSETv9 - 
https://www.postgresql.org/message-id/CACG%3Dezajc_Pcqmy6fcq-N8%2BLzCRMzOzJzez2_BgHEu-6RVJtKQ%40mail.gmail.com*

**

**

*[2] GUC64v2 - 
https://www.postgresql.org/message-id/4c0c1924-a68c-4b3f-bf81-5af13b1a9087%40gmail.com*

**

**

**

**