Re: Support EXCEPT for ALL SEQUENCES publications

Peter Smith <smithpb2250@gmail.com>

From: Peter Smith <smithpb2250@gmail.com>
To: Shlok Kyal <shlok.kyal.oss@gmail.com>
Cc: vignesh C <vignesh21@gmail.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2026-04-13T07:47:21Z
Lists: pgsql-hackers
Hi Shlok.

Here are a couple of review comments about the documentation (patch v2-0002).

======
doc/src/sgml/logical-replication.sgml

(29.1. Publication #)

1a.
-   <link linkend="sql-createpublication-params-for-except-table"><literal>EXCEPT</literal></link>
-   clause.
+   <link linkend="sql-createpublication-params-for-except"><literal>EXCEPT</literal></link>
+   clause. When a publication is created with <literal>FOR ALL
SEQUENCES</literal>,
+   a sequence or set of sequences can be explicitly excluded from publication
+   using the
+   <link linkend="sql-createpublication-params-for-except"><literal>EXCEPT</literal></link>

SUGGESTION
Similarly, when a publication is created with <literal>FOR ALL
SEQUENCES</literal>, a sequence or set of sequences can be explicitly
excluded from publication.

~~

1b.
Last year, I had suggested there should be an entirely separate
chapter in Logical Replication" for describing "Excluding objects from
the Publication". In the past, that idea was rejected because there
was only "EXCEPT tables". But now there is a growing list, so the idea
of having a separate chapter is becoming increasingly relevant. IMO, a
new chapter will be a good common place to describe everything, with
examples as necessary. It can help reduce some clutter from the CREATE
PUBLICATION page,

Then, this patch text (1a) could say something more like: "Specific
tables or sequences can be excluded from the publication. See XXX for
details."

======
doc/src/sgml/ref/create_publication.sgml

(EXCEPT)

2.
-      This clause specifies a list of tables to be excluded from the
-      publication.
+      This clause specifies a list of tables for <literal>ALL TABLES</literal>
+      publication or a list of sequences for <literal>ALL SEQUENCES</literal>
+      to be excluded from the publication.

SUGGESTION:
This clause specifies the tables or sequences to exclude from an
<literal>ALL TABLES</literal> or <literal>ALL SEQUENCES</literal>
publication.

======
Kind Regards,
Peter Smith.
Fujitsu Australia



Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Doc: Clarify that publication exclusions track table identity.

  2. Use schema-qualified names in EXCEPT clause error messages.

  3. psql: Improve describe footer titles for publications.

  4. Improve various new-to-v19 appendStringInfo calls