Re: Skipping schema changes in publication - Mailing list pgsql-hackers

From Amit Kapila
Subject Re: Skipping schema changes in publication
Date
Msg-id CAA4eK1KESu4=W6j4CQkKv5nzNJgtJyYBsg3E5K+LcwOr3t0WKw@mail.gmail.com
Whole thread
In response to Re: Skipping schema changes in publication  (vignesh C <vignesh21@gmail.com>)
List pgsql-hackers
On Fri, Feb 20, 2026 at 2:08 PM vignesh C <vignesh21@gmail.com> wrote:
>
> The attached v47 version patch has the changes for the same.
>

Few comments on 0001:
1.
- * publish the child tables when the parent table is published.
+ * No need to invalidate the tables listed in the EXCEPT clause, because
+ * in that case all tables are invalidated anyway.

Give the reference of a function where all tables are invalidated.

2.
 List *
-GetAllPublicationRelations(char relkind, bool pubviaroot)
+GetAllPublicationRelations(Publication *pub, char relkind)
...
+ if (relkind == RELKIND_RELATION)
+ exceptlist = GetExcludedPublicationTables(pubid, pubviaroot ?
+   PUBLICATION_PART_ROOT :
+   PUBLICATION_PART_LEAF);

Can you add a comment why the patch forms exceptlist only for RELKIND_RELATION?

3.
+ errmsg("cannot combine publications that define EXCEPT TABLE clauses"),
+ errdetail("The following publications define EXCEPT TABLE clauses: %s.",

Can you see a similar style of error message formation at any other
place in code? As per my understanding, in such cases, we display
required objects in errmsg itself. For example, "publications %s do
not exist on the publisher". Also, I think the errmsg should end with
a clause instead of caluses.

--
With Regards,
Amit Kapila.



pgsql-hackers by date:

Previous
From: Heikki Linnakangas
Date:
Subject: Re: PGPROC alignment (was Re: pgsql: Separate RecoveryConflictReasons from procsignals)
Next
From: Jim Jones
Date:
Subject: Re: WIP - xmlvalidate implementation from TODO list