From: Amit Kapila Date: Thu, 18 Jun 2026 02:32:33 +0000 (+0530) Subject: Doc: Clarify that publication exclusions track table identity. X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=77b6dd909252e3a6352e345788a925d3e4768cda;p=thirdparty%2Fpostgresql.git 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 --- 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