On Tue, Sep 17, 2024 at 9:08 AM shveta malik <shveta.ma...@gmail.com> wrote: > > On Mon, Sep 16, 2024 at 4:04 PM Amit Kapila <amit.kapil...@gmail.com> wrote: > > > > On Mon, Sep 16, 2024 at 2:55 PM shveta malik <shveta.ma...@gmail.com> wrote: > > > > > > On Mon, Sep 16, 2024 at 11:13 AM Amit Kapila <amit.kapil...@gmail.com> > > > wrote: > > > > > > > > > > > Another question aside from the above point, what if someone has > > > > specified logical subscribers in synchronous_standby_names? In the > > > > case of synchronized_standby_slots, we won't proceed with such slots. > > > > > > > > > > Yes, it is a possibility. I have missed this point earlier. Now I > > > tried a case where I give a mix of logical subscriber and physical > > > standby in 'synchronous_standby_names' on pgHead, it even takes that > > > 'mix' configuration and starts waiting accordingly. > > > > > > synchronous_standby_names = 'FIRST 2(logicalsub_1, phy_standby_1, > > > phy_standby_2)'; > > > > > > > This should not happen as we don't support syncing failover slots on > > logical subscribers. > > +1 > > > The other point to consider here is that the user > > may not have set 'sync_replication_slots' on all the physical standbys > > mentioned in 'synchronous_standby_names' and in that case, it doesn't > > make sense to wait for WAL to get flushed on those standbys. What do > > you think? > > > > Yes, it is a possibility. But then it is a possibility in case of > 'synchronized_standby_slots' as well. User may always configure one of > the standbys in 'synchronized_standby_slots' while may not configure > slot-sync GUCs on that standby (hot_standby_feedback, > sync_replication_slots etc). In such a case, logical replication is > dependent upon the concerned physical standby even though latter is > not syncing failover slots. >
The difference is that the purpose of 'synchronized_standby_slots' is to mention slot names for which the user expects logical walsenders to wait before sending the logical changes to subscribers. OTOH, 'synchronous_standby_names' has a different purpose as well. It is not clear to me if the users would be interested in syncing failover slots to all the standbys mentioned in 'synchronous_standby_names'. -- With Regards, Amit Kapila.