Re: Added schema level support for publication. - Mailing list pgsql-hackers

From Greg Nancarrow
Subject Re: Added schema level support for publication.
Date
Msg-id CAJcOf-eyzO+LSYvP05Bx9VT_NQcuhsqgsQUKcFs4mCfYrZs87g@mail.gmail.com
Whole thread Raw
In response to Re: Added schema level support for publication.  (vignesh C <vignesh21@gmail.com>)
Responses Re: Added schema level support for publication.  (vignesh C <vignesh21@gmail.com>)
List pgsql-hackers
On Thu, Oct 21, 2021 at 3:25 AM vignesh C <vignesh21@gmail.com> wrote:
>
> Attached v44 patch as the fixes for the same.
>

In the v44-0001 patch, I have some doubts about the condition guarding
the following code in pg_get_publication_tables():

+ if (schemarelids)
+ {
+    /*
+     * If the publication publishes partition changes via their
+     * respective root partitioned tables, we must exclude
+     * partitions in favor of including the root partitioned
+     * tables. Otherwise, the function could return both the child
+     * and parent tables which could cause data of the child table
+     * to be double-published on the subscriber side.
+     *
+     * XXX As of now, we do this when a publication has associated
+     * schema or for all tables publication. See
+     * GetAllTablesPublicationRelations().
+     */
+    tables = list_concat_unique_oid(relids, schemarelids);
+    if (publication->pubviaroot)
+       tables = filter_partitions(tables);
+ }

Shouldn't a partition be filtered out only if publication->pubviaroot
and the partition belongs to a schema (i.e. ALL TABLES IN SCHEMA)
included in the publication?
The current code seems to filter out partitions of partitioned tables
included in the publication if ANY schemas are included as part of the
publication (e.g. which could be a schema not including any
partitioned tables or partitions).

Regards,
Greg Nancarrow
Fujitsu Australia



pgsql-hackers by date:

Previous
From: Amit Kapila
Date:
Subject: Re: Data is copied twice when specifying both child and parent table in publication
Next
From: Daniel Gustafsson
Date:
Subject: Re: [PATCH] improve the pg_upgrade error message