Re: Synchronizing slots from primary to standby
От | Drouvot, Bertrand |
---|---|
Тема | Re: Synchronizing slots from primary to standby |
Дата | |
Msg-id | 94819ffe-572b-4ef8-8da6-988e799724a8@gmail.com обсуждение исходный текст |
Ответ на | Re: Synchronizing slots from primary to standby (Amit Kapila <amit.kapila16@gmail.com>) |
Ответы |
Re: Synchronizing slots from primary to standby
|
Список | pgsql-hackers |
Hi, On 9/29/23 1:33 PM, Amit Kapila wrote: > On Thu, Sep 28, 2023 at 6:31 PM Drouvot, Bertrand > <bertranddrouvot.pg@gmail.com> wrote: >> >> >> I think that standby_slot_names could be used to do some filtering (means >> for which standby(s) we don't want the logical replication on the primary to go >> ahead and for which standby(s) one would allow it). >> > > Isn't it implicit that the physical standby that has requested > 'synchronize_slot_names' should be ahead of their corresponding > logical walsenders? Otherwise, after the switchover to the new > physical standby, the logical subscriptions won't work. Right, but the idea was to let the flexibility to bypass this constraint. Use case was to avoid a physical standby being down preventing the decoding on the primary. > >> I think that removing the GUC would: >> >> - remove this flexibility >> > > I think if required we can add such a GUC later as well. Asking users > to set more parameters also makes the feature less attractive, so I am > trying to see if we can avoid this GUC. Agree but I think we have to address the standby being down case. > >> - probably open corner cases like: what if a standby is down? would that mean >> that synchronize_slot_names not being send to the primary would allow the decoding >> on the primary to go ahead? >> > > Good question. BTW, irrespective of whether we have > 'standby_slot_names' parameters or not, how should we behave if > standby is down? Say, if 'synchronize_slot_names' is only specified on > standby then in such a situation primary won't be even aware that some > of the logical walsenders need to wait. Exactly, that's why I was thinking keeping standby_slot_names to address this scenario. In such a case one could simply decide to keep or remove the associated physical replication slot from standby_slot_names. Keep would mean "wait" and removing would mean allow to decode on the primary. > OTOH, one can say that users > should configure 'synchronize_slot_names' on both primary and standby > but note that this value could be different for different standby's, > so we can't configure it on primary. > Yeah, I think that's a good use case for standby_slot_names, what do you think? Regards, -- Bertrand Drouvot PostgreSQL Contributors Team RDS Open Source Databases Amazon Web Services: https://aws.amazon.com
В списке pgsql-hackers по дате отправления: