Re: pgsql: Raise a warning if there is a possibility of data from multiple - Mailing list pgsql-committers

From Masahiko Sawada
Subject Re: pgsql: Raise a warning if there is a possibility of data from multiple
Date
Msg-id CAD21AoAC9ELmteDHCCBjdHA0dRJbONdABafi1gOXUbio2LU52w@mail.gmail.com
Whole thread Raw
In response to Re: pgsql: Raise a warning if there is a possibility of data from multiple  (Amit Kapila <amit.kapila16@gmail.com>)
Responses Re: pgsql: Raise a warning if there is a possibility of data from multiple  (Amit Kapila <amit.kapila16@gmail.com>)
List pgsql-committers
On Thu, Sep 8, 2022 at 4:23 PM Amit Kapila <amit.kapila16@gmail.com> wrote:
>
> On Thu, Sep 8, 2022 at 12:22 PM Masahiko Sawada <sawada.mshk@gmail.com> wrote:
> >
> > On Thu, Sep 8, 2022 at 10:39 AM Amit Kapila <akapila@postgresql.org> wrote:
> > >
> > > Raise a warning if there is a possibility of data from multiple origins.
> > >
> > > This commit raises a warning message for a combination of options
> > > ('copy_data = true' and 'origin = none') during CREATE/ALTER subscription
> > > operations if the publication tables were also replicated from other
> > > publishers.
> > >
> > > During replication, we can skip the data from other origins as we have that
> > > information in WAL but that is not possible during initial sync so we raise
> > > a warning if there is such a possibility.
> > >
> > > Author: Vignesh C
> > > Reviewed-By: Peter Smith, Amit Kapila, Jonathan Katz, Shi yu, Wang wei
> > > Discussion:
https://www.postgresql.org/message-id/CALDaNm0gwjY_4HFxvvty01BOT01q_fJLKQ3pWP9=9orqubhjcQ@mail.gmail.com
> > >
> > > Branch
> > > ------
> > > master
> > >
> > > Details
> > > -------
> > > https://git.postgresql.org/pg/commitdiff/875693019053b8897ec3983e292acbb439b088c3
> > >
> > > Modified Files
> > > --------------
> > > doc/src/sgml/ref/alter_subscription.sgml  |   5 ++
> > > doc/src/sgml/ref/create_subscription.sgml |  35 ++++++++
> > > src/backend/commands/subscriptioncmds.c   | 133 ++++++++++++++++++++++++++++--
> > > src/test/subscription/t/030_origin.pl     | 114 +++++++++++++++++++------
> > > 4 files changed, 258 insertions(+), 29 deletions(-)
> >
> > +       appendStringInfoString(&cmd,
> > +                                                  "SELECT DISTINCT
> > P.pubname AS pubname\n"
> > +                                                  "FROM pg_publication P,\n"
> > +                                                  "     LATERAL
> > pg_get_publication_tables(P.pubname) GPT\n"
> > +                                                  "     JOIN
> > pg_subscription_rel PS ON (GPT.relid = PS.srrelid),\n"
> > +                                                  "     pg_class C
> > JOIN pg_namespace N ON (N.oid = C.relnamespace)\n"
> > +                                                  "WHERE C.oid =
> > GPT.relid AND P.pubname IN (");
> >
> > Should the tables and the function in this query be schema-qualified?
> > Looking at other code in subscriptioncmd.c, we use schema-qualified
> > names. It works even without the schema names but it may be better to
> > make them consistent.
> >
> > FYI, looking at tablesync.c, there are both styles; it seems that
> > recently added codes use schema-unqualified names.
> >
>
> Yeah, it is better to be consistent in all places and add a schema
> name before accessing an object rather than for one or two places. Do
> we need similar handling for pg_dump code as well, see
> getPublications()?

We can fix at least getPublications() and getSubscriptions() as well.
I'll make a patch for that. Or do you want to fix all of them,
including non-logical-replication-related ones?

Regards,

-- 
Masahiko Sawada



pgsql-committers by date:

Previous
From: Daniel Gustafsson
Date:
Subject: pgsql: doc: Fix PL/pgSQL casing to be consistent
Next
From: Amit Kapila
Date:
Subject: Re: pgsql: Raise a warning if there is a possibility of data from multiple