Re: pg_upgrade and logical replication
Michael Paquier <michael@paquier.xyz>
From: Michael Paquier <michael@paquier.xyz>
To: Amit Kapila <amit.kapila16@gmail.com>
Cc: vignesh C <vignesh21@gmail.com>, "Hayato Kuroda (Fujitsu)" <kuroda.hayato@fujitsu.com>, Julien Rouhaud <rjuju123@gmail.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2023-09-25T06:13:41Z
Lists: pgsql-hackers
On Mon, Sep 25, 2023 at 10:05:41AM +0530, Amit Kapila wrote: > I also don't think that this patch has to solve the problem of > publishers in any way but as per my understanding, if due to some > reason we are not able to do the upgrade of publishers, this can add > more steps for users than they have to do now for logical replication > set up after upgrade. This is because now after restoring the > subscription rel's and origin, as soon as we start replication after > creating the slots on the publisher, we will never be able to > guarantee data consistency. So, they need to drop the entire > subscription setup including truncating the relations, and then set it > up from scratch which also means they need to somehow remember or take > a dump of the current subscription setup. According to me, the key > point is to have a mechanism to set up slots correctly to allow > replication (or subscriptions) to work after the upgrade. Without > that, it appears to me that we are restoring a subscription where it > can start from some random LSN and can easily lead to data consistency > issues where it can miss some of the updates. Sure, that's assuming that the publisher side is upgraded. FWIW, my take is that there's room to move forward with this patch anyway in favor of cases like rollover upgrades to the subscriber. > This is the primary reason why I prioritized to work on the publisher > side before getting this patch done, otherwise, the solution for this > patch was relatively clear. I am not sure but I guess this could be > the reason why originally we left it in the current state, otherwise, > restoring subscription rel's or origin doesn't seem to be too much of > an additional effort than what we are doing now. By "additional effort", you are referring to what the patch is doing, with the binary dump of pg_subscription_rel, right? -- Michael
Commits
-
pg_upgrade: Retrieve subscription count more efficiently.
- 73de50e13e39 17.0 landed
- 364509a2e7f9 18.0 landed
-
Fix random failure in 004_subscription.
- 677a45c4ae16 17.0 landed
-
Fix 004_subscription.pl to allow its usage in --link mode.
- f17529b71097 17.0 landed
-
Allow upgrades to preserve the full subscription's state.
- 9a17be1e244a 17.0 landed
-
Prevent startup of logical replication launcher during pg_upgrade
- 7021d3b17664 17.0 landed