From: | "Hayato Kuroda (Fujitsu)" <kuroda(dot)hayato(at)fujitsu(dot)com> |
---|---|
To: | 'Julien Rouhaud' <rjuju123(at)gmail(dot)com> |
Cc: | 'vignesh C' <vignesh21(at)gmail(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>, Amit Kapila <amit(dot)kapila16(at)gmail(dot)com> |
Subject: | RE: [PoC] pg_upgrade: allow to upgrade publisher node |
Date: | 2023-04-24 12:03:05 |
Message-ID: | TYAPR01MB58669413A5A2E3E50BD0B7E7F5679@TYAPR01MB5866.jpnprd01.prod.outlook.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
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
Attachment | Content-Type | Size |
---|---|---|
v9-0001-pg_upgrade-Add-include-logical-replication-slots-.patch | application/octet-stream | 34.4 KB |
v9-0002-Always-persist-to-disk-logical-slots-during-a-shu.patch | application/octet-stream | 4.8 KB |
v9-0003-pg_upgrade-Add-check-function-for-include-logical.patch | application/octet-stream | 6.8 KB |
v9-0004-Change-the-method-used-to-check-logical-replicati.patch | application/octet-stream | 7.2 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Hayato Kuroda (Fujitsu) | 2023-04-24 12:04:10 | RE: [PoC] pg_upgrade: allow to upgrade publisher node |
Previous Message | Yurii Rashkovskii | 2023-04-24 11:40:10 | Re: [PATCH] Extend the length of BackgroundWorker.bgw_library_name |