Re: Add 64-bit XIDs into PostgreSQL 15
Pavel Borisov <pashkin.elfe@gmail.com>
From: Pavel Borisov <pashkin.elfe@gmail.com>
To: Maxim Orlov <orlovmg@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-06-07T14:15:30Z
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
- v37-0005-Add-initdb-option-to-initialize-cluster-with-non.patch (application/octet-stream) patch v37-0005
- v37-0004-Use-64-bit-pages-representation-in-SLRU-callers.patch (application/octet-stream) patch v37-0004
- v37-0007-Use-64-bit-GUCs.patch (application/octet-stream) patch v37-0007
- v37-0006-README.XID64.patch (application/octet-stream) patch v37-0006
- v37-0003-Use-64-bit-FullTransactionId-instead-of-Epoch-xi.patch (application/octet-stream) patch v37-0003
- v37-0001-Use-64-bit-numbering-of-SLRU-pages.patch (application/octet-stream) patch v37-0001
- v37-0002-Use-64-bit-format-to-output-XIDs.patch (application/octet-stream) patch v37-0002
- v37-0008-Use-64-bit-XIDs.patch (application/octet-stream) patch v37-0008
Hi, hackers! I've updated a patchset for 64-xid (actually only 0008 patch is changed). The update addresses a corner case of not completing VACUUM FULL after pg_upgrade from the cluster containing a maximum size tuple in plain storage. Page with such tuples can not be converted to 64-xid format as there is no room for HeapPageSpecial, so it remains in DoubleXmax format and this can not be changed until that tuple version is deleted. The change makes VACUUM FULL copy these pages instead of throwing an error. The patchset is also rebased onto a current master branch. Your discussion and thoughts are very much welcome! -- Best regards, Pavel Borisov Postgres Professional: http://postgrespro.com <http://www.postgrespro.com>