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: 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-14T15:43:40Z
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

>
> Hi, Hackers!
>
>> Hi! Here is updated version of the patch, based on Alexander's ver16.
>>
> I'd like to add a few quick notes on what's been done in v17.
>
> Patches 0001 and 0002 that are planned to be committed to PG15 are almost
> unchanged with the exception of one unnecessary cast in 0002 removed.
>
> We've also addressed several issues in patch 0005 (which is planned for
> PG16):
> - The bug with frozen xids after pg_upgrade, reported by Justin [1]
> - Added proper processing of double xmax pages in
> HeapPageSetPruneXidInternal()
> - Fixed xids comparison. Initially in the patch it was changed to simple <
> <= => > for 64 bit values. Now v17 patch has returned this to the way
> similar to what is used in STABLE for 32-bit xids, but using modulus-64
> numeric ring. The main goal of this change was to fix SRLU tests that were mentioned
> by Alexander to have been disabled. We've fixed and enabled most of them,
> but some of them are still need to be fixed and enabled.
>
> Also, we've pgindent-ed all the patches.
>
> As patches that are planned to be delivered to PG15 are almost unchanged,
> I completely agree with Alexander's plan to consider these patches (0001
> and 0002) as RfC.
>
> All activity, improvement, review, etc. related to the whole patchset is
> also very much appreciated. Big thanks to Alexander for working on the
> patch set!
>
> [1]
> https://www.postgresql.org/message-id/20220115063925.GS14051%40telsasoft.com
>
Also, the patch v17 (0005) returns SLRU_PAGES_PER_SEGMENT to the previous
value of 32.

-- 
Best regards,
Pavel Borisov

Postgres Professional: http://postgrespro.com <http://www.postgrespro.com>