From 77b6dd909252e3a6352e345788a925d3e4768cda Mon Sep 17 00:00:00 2001 From: Amit Kapila Date: Thu, 18 Jun 2026 08:02:33 +0530 Subject: [PATCH] Doc: Clarify that publication exclusions track table identity. The EXCEPT clause of a FOR ALL TABLES publication tracks each excluded table by its identity rather than by name. As a result, renaming a table or moving it to another schema with ALTER TABLE ... SET SCHEMA leaves the exclusion in place, and the table stays excluded from the publication. This behavior was not previously documented and could surprise users who might reasonably expect a schema-qualified exclusion to apply only while the table remains in that schema. Add a note to CREATE PUBLICATION to make the behavior explicit. Author: Peter Smith Reviewed-by: Amit Kapila Discussion: https://postgr.es/m/CAHut+PvQ5BqnawCQd6r1tqqd+iAJC-CuRY8wscuXSrpHGUzofA@mail.gmail.com --- doc/src/sgml/ref/create_publication.sgml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/doc/src/sgml/ref/create_publication.sgml b/doc/src/sgml/ref/create_publication.sgml index f82d640e6ca..85cfcaddafa 100644 --- a/doc/src/sgml/ref/create_publication.sgml +++ b/doc/src/sgml/ref/create_publication.sgml @@ -200,6 +200,12 @@ CREATE PUBLICATION name This clause specifies a list of tables to be excluded from the publication. + + Once a table is excluded, the exclusion applies to that table + regardless of its name or schema. Renaming the table or moving it to + another schema using ALTER TABLE ... SET SCHEMA does + not remove the exclusion. + For inherited tables, if ONLY is specified before the table name, only that table is excluded from the publication. If