Re: Identify missing publications from publisher while create/alter subscription. - Mailing list pgsql-hackers

From Amit Kapila
Subject Re: Identify missing publications from publisher while create/alter subscription.
Date
Msg-id CAA4eK1+nbx6xq1PKyiBvp+gnghWNnmGCVi-Lm=Xyf=4gG2+SsA@mail.gmail.com
Whole thread Raw
In response to Re: Identify missing publications from publisher while create/alter subscription.  (Amit Kapila <amit.kapila16@gmail.com>)
Responses Re: Identify missing publications from publisher while create/alter subscription.
List pgsql-hackers
On Tue, Mar 29, 2022 at 11:01 AM Amit Kapila <amit.kapila16@gmail.com> wrote:
>
> On Sat, Mar 26, 2022 at 7:53 PM vignesh C <vignesh21@gmail.com> wrote:
> >
> > The patch was not applying on HEAD, attached patch which is rebased on
> > top of HEAD.
> >
>
> IIUC, this patch provides an option that allows us to give an error if
> while creating/altering subcsiction, user gives non-existant
> publications. I am not sure how useful it is to add such behavior via
> an option especially when we know that it can occur in some other ways
> like after creating the subscription, users can independently drop
> publication from publisher. I think it could be useful to provide
> additional information here but it would be better if we can follow
> Euler's suggestion [1] in the thread where he suggested issuing a
> WARNING if the publications don't exist and document that the
> subscription catalog can have non-existent publications.
>
> I think we should avoid adding new options unless they are really
> required and useful.
>

*
+connect_and_check_pubs(Subscription *sub, List *publications)
+{
+ char    *err;
+ WalReceiverConn *wrconn;
+
+ /* Load the library providing us libpq calls. */
+ load_file("libpqwalreceiver", false);
+
+ /* Try to connect to the publisher. */
+ wrconn = walrcv_connect(sub->conninfo, true, sub->name, &err);
+ if (!wrconn)
+ ereport(ERROR,
+ errcode(ERRCODE_CONNECTION_FAILURE),
+ errmsg("could not connect to the publisher: %s", err));

I think it won't be a good idea to add new failure modes in existing
commands especially if we decide to make it non-optional. I think we
can do this check only in case we are already connecting to the
publisher.

-- 
With Regards,
Amit Kapila.



pgsql-hackers by date:

Previous
From: Daniel Gustafsson
Date:
Subject: Re: Frontend error logging style
Next
From: Matthias van de Meent
Date:
Subject: Re: TRAP: FailedAssertion("HaveRegisteredOrActiveSnapshot()", File: "toast_internals.c", Line: 670, PID: 19403)