Re: Logical Replication of sequences
От | vignesh C |
---|---|
Тема | Re: Logical Replication of sequences |
Дата | |
Msg-id | CALDaNm30iA_N4Dfeyp__YdLnbm9oatw_+VyCfNfbQmZiS_ybCw@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: Logical Replication of sequences (Masahiko Sawada <sawada.mshk@gmail.com>) |
Ответы |
Re: Logical Replication of sequences
|
Список | pgsql-hackers |
On Fri, 5 Sept 2025 at 04:01, Masahiko Sawada <sawada.mshk@gmail.com> wrote: > > On Wed, Aug 20, 2025 at 4:57 AM Amit Kapila <amit.kapila16@gmail.com> wrote: > > > > On Mon, Aug 18, 2025 at 3:36 PM vignesh C <vignesh21@gmail.com> wrote: > > > > > > Thanks for the comments, the updated version has the changes for the same. > > > > > > > I wanted to first discuss a few design points. The patch implements > > "ALTER SUBSCRIPTION ... REFRESH PUBLICATION SEQUENCES" such that it > > copies the existing sequences values and also adds/removes any missing > > sequences. For the second part (add/remove sequences), we already have > > a separate command "ALTER SUBSCRIPTION ... REFRESH PUBLICATION". So, I > > feel the new command should only copy the sequence values, as that > > will keep the interface easy to define and understand. Additionally, > > it will help to simplify the code in the patch, especially in the > > function AlterSubscription_refresh. > > While I agree that the new command just copies the sequence values, > I'm not sure the command should be implemented as an extension of > ALTER SUBSCRIPTION ... REFRESH PUBLICATION command. Probably what the > new command does is quite different from what REFRESH PUBLICATION > command does? Alternatively, the syntax options could be: ALTER SUBSCRIPTION subname RESYNC PUBLICATION SEQUENCES; or ALTER SUBSCRIPTION subname RESYNC SEQUENCES; Do you have a preference between the two? > > > > We previously discussed *not* to launch an apply worker if the > > corresponding publication(s) only publish sequences. See [1]. We > > should consider it again to see if that is a good idea. It will have > > some drawbacks as compared to the current approach of doing sync via > > sync worker. The command could take time for a large number of > > sequences, and on failure, retry won't happen which can happen with > > background workers. Additionally, when the connect option is false for > > a subscription during creation, the user needs to later call REFRESH > > to sync the sequences after enabling the subscription. OTOH, doing the > > sync during the command will bring more predictability and simplify > > the patch. What do others think? > > It seems okay to me that we launch an apply worker for a subscription > corresponding to sequence-only publications. I think the situation > seems somewhat similar to the case where we launch an apply worker > even for a subscription corresponding to empty publications. It would > be quite a rare case in practice where publications have only > sequences. I agree with this. > I guess that it would rather simplify the patch if we can > cut the part of doing the sync during the command (i.e., not > distinguish between table-and-sequence publications and sequence-only > publications), no? Currently, we don’t make a distinction between the two. Just to clarify, could you point me to the specific part of the patch you’re referring to? Regards, Vignesh
В списке pgsql-hackers по дате отправления: