Dear Julien, Thank you for giving comments! PSA new version.
> I think that this test should be different when just checking for the > prerequirements (live_check / --check) compared to actually doing the upgrade, > as it's almost guaranteed that the slots won't have sent everything when the > source server is up and running. Hmm, you assumed that the user application is still running and data is coming continuously when doing --check, right? Personally I have thought that the --check operation is executed just before the actual upgrading, therefore I'm not sure your assumption is real problem. And I could not find any checks which their contents are changed based on the --check option. Anyway, I included your opinion in 0004 patch. We can ask some other reviewers about the necessity. > Maybe simply check that all logical slots are currently active when running > the > live check, Yeah, if we support the case checking pg_replication_slots.active may be sufficient. Actually this cannot handle the case that pg_create_logical_replication_slot() is executed just before upgrading, but I'm not sure it should be. > so at least there's a good chance that they will still be at > shutdown, and will therefore send all the data to the subscribers? Having a > regression tests for that scenario would also be a good idea. Having an > uncommitted write transaction should be enough to cover it. I think background_psql() can be used for the purpose. Before doing pg_upgrade --check, a transaction is opened and kept. It means that the confirmed_flush has been not reached to the current WAL position yet, but the checking says OK because all slots are active. Best Regards, Hayato Kuroda FUJITSU LIMITED
v9-0001-pg_upgrade-Add-include-logical-replication-slots-.patch
Description: v9-0001-pg_upgrade-Add-include-logical-replication-slots-.patch
v9-0002-Always-persist-to-disk-logical-slots-during-a-shu.patch
Description: v9-0002-Always-persist-to-disk-logical-slots-during-a-shu.patch
v9-0003-pg_upgrade-Add-check-function-for-include-logical.patch
Description: v9-0003-pg_upgrade-Add-check-function-for-include-logical.patch
v9-0004-Change-the-method-used-to-check-logical-replicati.patch
Description: v9-0004-Change-the-method-used-to-check-logical-replicati.patch