Re: Add 64-bit XIDs into PostgreSQL 15
Maxim Orlov <orlovmg@gmail.com>
From: Maxim Orlov <orlovmg@gmail.com>
To: Kyotaro Horiguchi <horikyota.ntt@gmail.com>
Cc: Pavel Borisov <pashkin.elfe@gmail.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-03-15T15:48:34Z
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
- v18-64bit-xids.tgz (application/gzip)
Hi Kyotaro! 0001: > > The XID_FMT has quite bad impact on the translatability of error > messages. 3286065651 has removed INT64_FORMAT from translatable > texts for the reason. This re-introduces that in several places. > 0001 itself does not harm but 0005 replaces XID_FMT with > INT64_FORMAT. Other patches have the same issue, too. > I do understand your concern and I wonder how I can do this better? My first intention was to replace XID_FMT with %llu and INT64_FORMAT with %lld. This should solve the translatability issue, but I'm not sure about portability of this. Should this work on Windows, etc? Can you advise me on the best solution? We've fixed all the other things mentioned. Thanks! Also added two fixes: - CF bot was unhappy with pg_upgrade test in v17 because I forgot to add a fix for computation of relminmxid during vacuum on a fresh database. - Replace frozen or invalid x_min with FrozenTransactionId or InvalidTransactionId respectively during tuple conversion to 64xid. Reviews are welcome as always! Thanks! -- Best regards, Maxim Orlov.