Re: Support ALTER SUBSCRIPTION ... ADD/DROP PUBLICATION ... syntax

From: Dilip Kumar <dilipbalaut(at)gmail(dot)com>
To: japin <japinli(at)hotmail(dot)com>
Cc: Amit Kapila <amit(dot)kapila16(at)gmail(dot)com>, "pgsql-hackers(at)lists(dot)postgresql(dot)org" <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: Support ALTER SUBSCRIPTION ... ADD/DROP PUBLICATION ... syntax
Date: 2021-01-27 10:47:21
Message-ID: CAFiTN-sfiQEOg=ekBxjkpyUORHfPbVQ=EY-Hka9Kn25iCW+p0Q@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Wed, Jan 27, 2021 at 3:26 PM japin <japinli(at)hotmail(dot)com> wrote:
>
>
> On Wed, 27 Jan 2021 at 16:59, Amit Kapila <amit(dot)kapila16(at)gmail(dot)com> wrote:
> > On Tue, Jan 26, 2021 at 9:18 AM japin <japinli(at)hotmail(dot)com> wrote:
> >>
> >>
> >> When I read the discussion in [1], I found that update subscription's publications
> >> is complicated.
> >>
> >> For example, I have 5 publications in subscription.
> >>
> >> CREATE SUBSCRIPTION mysub1 CONNECTION 'host=localhost port=5432 dbname=postgres'
> >> PUBLICATION mypub1, mypub2, mypub3, mypub4, mypub5;
> >>
> >> If I want to drop "mypub4", we should use the following command:
> >>
> >> ALTER SUBSCRIPTION mysub1 SET PUBLICATION mypub1, mypub2, mypub3, mypub5;
> >>
> >> Also, if I want to add "mypub7" and "mypub8", it will use:
> >>
> >> ALTER SUBSCRIPTION mysub1 SET PUBLICATION mypub1, mypub2, mypub3, mypub5, mypub7, mypub8;
> >>
> >> Attached implement ALTER SUBSCRIPTION ... ADD/DROP PUBLICATION ... syntax, for the above
> >> two cases, we can use the following:
> >>
> >> ALTER SUBSCRIPTION mysub1 DROP PUBLICATION mypub4;
> >>
> >> ALTER SUBSCRIPTION mysub1 DROP PUBLICATION mypub7, mypub8;
> >>
> >> I think it's more convenient. Any thoughts?
> >>
> >
> > While the new proposed syntax does seem to provide some ease for users
> > but it has nothing which we can't do with current syntax. Also, in the
> > current syntax, there is an additional provision for refreshing the
> > existing publications as well. So, if the user has to change the
> > existing subscription such that it has to (a) add new publication(s),
> > (b) remove some publication(s), (c) refresh existing publication(s)
> > then all can be done in one command whereas with your new proposed
> > syntax user has to write three separate commands.
> >
>
> If we want add and drop some publications, we can use SET PUBLICATION, it
> is more convenient than ADD and DROP PUBLICATION, however if we just want to
> add (or drop) publication into (or from) subcription which has much publications,
> then the new syntax is more convenient IMO.
>

I agree with you that if we just want to add or remove a few
publications in the existing subscription then providing the complete
list is not convenient. The new syntax is way better, although I am
not sure how frequently users need to add/remove publication in the
subscription.

--
Regards,
Dilip Kumar
EnterpriseDB: http://www.enterprisedb.com

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Noah Misch 2021-01-27 10:48:48 Re: Wrong usage of RelationNeedsWAL
Previous Message Denis Laxalde 2021-01-27 10:25:11 Re: [PATCH] Disable bgworkers during servers start in pg_upgrade