Re: Add 64-bit XIDs into PostgreSQL 15
Maxim Orlov <orlovmg@gmail.com>
From: Maxim Orlov <orlovmg@gmail.com>
To: Pavel Borisov <pashkin.elfe@gmail.com>
Cc: Justin Pryzby <pryzby@telsasoft.com>,
Aleksander Alekseev <aleksander@timescale.com>, Postgres hackers <pgsql-hackers@lists.postgresql.org>,
Stephen Frost <sfrost@snowman.net>, Alexander Korotkov <aekorotkov@gmail.com>,
Andres Freund <andres@anarazel.de>, Ilya Anfimov <ilan@tzirechnoy.com>
Date: 2022-05-27T13:48:48Z
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 →
-
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
Attachments
- v36-0006-README.XID64.patch (text/x-patch) patch v36-0006
- v36-0007-Use-64-bit-GUCs.patch (text/x-patch) patch v36-0007
- v36-0005-Add-initdb-option-to-initialize-cluster-with-non.patch (text/x-patch) patch v36-0005
- v36-0004-Use-64-bit-pages-representation-in-SLRU-callers.patch (text/x-patch) patch v36-0004
- v36-0008-Use-64-bit-XIDs.patch (text/x-patch) patch v36-0008
- v36-0001-Use-64-bit-numbering-of-SLRU-pages.patch (text/x-patch) patch v36-0001
- v36-0002-Use-64-bit-format-to-output-XIDs.patch (text/x-patch) patch v36-0002
- v36-0003-Use-64-bit-FullTransactionId-instead-of-Epoch-xi.patch (text/x-patch) patch v36-0003
Hi! Here is a rebased and improved version of the patchset: now we use 64 bit atomic operations on shared memory which was not previously warrantied on 32 bit architectures. Before this change under heavy transaction concurrency we've got a warning "xmin is far in the past", rarely. This was seen on 32 bit architectures. On 64 bit these changes do not change performance since 64 bit atomicity is automatically fulfilled. Only 0008 patch is changed. -- Best regards, Maxim Orlov.