RE: [PoC] pg_upgrade: allow to upgrade publisher node

From: "Hayato Kuroda (Fujitsu)" <kuroda(dot)hayato(at)fujitsu(dot)com>
To: PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Cc: Bruce Momjian <bruce(at)momjian(dot)us>, Julien Rouhaud <rjuju123(at)gmail(dot)com>, vignesh C <vignesh21(at)gmail(dot)com>, Amit Kapila <amit(dot)kapila16(at)gmail(dot)com>, Masahiko Sawada <sawada(dot)mshk(at)gmail(dot)com>, "Hayato Kuroda (Fujitsu)" <kuroda(dot)hayato(at)fujitsu(dot)com>, "Zhijie Hou (Fujitsu)" <houzj(dot)fnst(at)fujitsu(dot)com>
Subject: RE: [PoC] pg_upgrade: allow to upgrade publisher node
Date: 2023-08-16 10:25:03
Message-ID: TYAPR01MB5866337281F05EA10D876C44F515A@TYAPR01MB5866.jpnprd01.prod.outlook.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Dear hackers,

> > > It was primarily for upgrade purposes only. So, as we can't see a good reason
> to
> > > go via pg_dump let's do it in upgrade unless someone thinks otherwise.
> >
> > Removed the new option in pg_dump and modified the pg_upgrade
> > directly use the slot info to restore the slot in new cluster.
>
> In this version, creations of logical slots are serialized, whereas old ones were
> parallelised per db. Do you it should be parallelized again? I have tested locally
> and felt harmless. Also, this approch allows to log the executed SQLs.

I updated the patch to allow parallel executions. Workers are launched per slots,
each one connects to the new node via psql and executes pg_create_logical_replication_slot().
Moreover, following points were changed for 0002.

* Ensured to log executed SQLs for creating slots.
* Fixed an issue that 'unreserved' slots could not be upgrade. This change was
not expected one. Related discussion was [1].
* Added checks for output plugin libraries. pg_upgrade ensures that plugins
referred by old slots were installed to the new executable directory.

[1]: https://www.postgresql.org/message-id/TYAPR01MB5866FD3F7992A46D0457F0E6F50BA%40TYAPR01MB5866.jpnprd01.prod.outlook.com

Best Regards,
Hayato Kuroda
FUJITSU LIMITED

Attachment Content-Type Size
v21-0001-Always-persist-to-disk-logical-slots-during-a-sh.patch application/octet-stream 4.8 KB
v21-0002-pg_upgrade-Allow-to-replicate-logical-replicatio.patch application/octet-stream 24.1 KB
v21-0003-pg_upgrade-Add-check-function-for-logical-replic.patch application/octet-stream 14.9 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message John Naylor 2023-08-16 11:04:34 Re: [PoC] Improve dead tuple storage for lazy vacuum
Previous Message John Naylor 2023-08-16 10:24:33 Re: Todo: Teach planner to evaluate multiple windows in the optimal order