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
v21-0001-Always-persist-to-disk-logical-slots-during-a-sh.patch
Description: v21-0001-Always-persist-to-disk-logical-slots-during-a-sh.patch
v21-0002-pg_upgrade-Allow-to-replicate-logical-replicatio.patch
Description: v21-0002-pg_upgrade-Allow-to-replicate-logical-replicatio.patch
v21-0003-pg_upgrade-Add-check-function-for-logical-replic.patch
Description: v21-0003-pg_upgrade-Add-check-function-for-logical-replic.patch