Re: Skipping schema changes in publication

Nisha Moond <nisha.moond412@gmail.com>

From: Nisha Moond <nisha.moond412@gmail.com>
To: vignesh C <vignesh21@gmail.com>
Cc: Amit Kapila <amit.kapila16@gmail.com>, Andrei Lepikhov <lepihov@gmail.com>, shveta malik <shveta.malik@gmail.com>, Shlok Kyal <shlok.kyal.oss@gmail.com>, Ashutosh Sharma <ashu.coek88@gmail.com>, "David G. Johnston" <david.g.johnston@gmail.com>, Dilip Kumar <dilipbalaut@gmail.com>, Peter Smith <smithpb2250@gmail.com>, "Zhijie Hou (Fujitsu)" <houzj.fnst@fujitsu.com>, YeXiu <1518981153@qq.com>, Ian Lawrence Barwick <barwick@gmail.com>, Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2026-03-09T07:00:42Z
Lists: pgsql-hackers
On Mon, Mar 9, 2026 at 8:22 AM vignesh C <vignesh21@gmail.com> wrote:
>
> The attached v59 patch has the changes to update the syntax accordingly.
>
Thanks for the patch, here are few comments:

1) commit message:
"... the user must first modify
the publication using ALTER PUBLICATION ... SET EXCEPT TABLE
before attaching the partition."

The command is modified now and "SET EXCEPT TABLE" is no longer
supported, so it should be -

"... the user must first modify
the publication using ALTER PUBLICATION ... SET ALL TABLES EXCEPT TABLE
before attaching the partition."
~~~

2) Unexpected behavior: "ALTER PUBLICATION pub1 SET ALL TABLES;"
succeeds for a non-ALL TABLES publication and removes the existing
tables from the publication:

CREATE publication pub1 for table t1;

postgres=# \dRp+
                                                      Publication pub1
  Owner  | All tables | All sequences | Inserts | Updates | Deletes |
Truncates | Generated columns | Via root | Description
---------+------------+---------------+---------+---------+---------+-----------+-------------------+----------+-------------
 moond_n | f          | f             | t       | t       | t       |
t         | none              | f        |
Tables:
    "public.t1"

postgres=# alter publication pub1 set all tables ;
ALTER PUBLICATION

postgres=# \dRp+
                                                      Publication pub1
  Owner  | All tables | All sequences | Inserts | Updates | Deletes |
Truncates | Generated columns | Via root | Description
---------+------------+---------------+---------+---------+---------+-----------+-------------------+----------+-------------
 moond_n | f          | f             | t       | t       | t       |
t         | none              | f        |
(1 row)


3) Should we add a test for "ALTER PUBLICATION tab_pub SET ALL
TABLES;" verification?

--
Thanks,
Nisha



Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Fix miscellaneous issues in EXCEPT publication clause.

  2. Change syntax of EXCEPT TABLE clause in publication commands.

  3. Add support for EXCEPT TABLE in ALTER PUBLICATION.

  4. Allow table exclusions in publications via EXCEPT TABLE.

  5. Add wait_for_subscription_sync for TAP tests.