Re: Support EXCEPT for ALL SEQUENCES publications

shveta malik <shveta.malik@gmail.com>

From: shveta malik <shveta.malik@gmail.com>
To: Shlok Kyal <shlok.kyal.oss@gmail.com>
Cc: vignesh C <vignesh21@gmail.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>, Peter Smith <smithpb2250@gmail.com>, shveta malik <shveta.malik@gmail.com>
Date: 2026-06-26T08:53:04Z
Lists: pgsql-hackers
Please find a few trivial comments on v13-001:

1)

check_publication_add_relation:

+ * 'pubrelkind' is the relkind accepted by the publication clause,
+ * while 'targetrelkind' is the relkind of the relation being added.

pubrelkind is the argument while targetrelkind is not. We generally
explain arguements here.

Can we rephrase to:
 * 'pubrelkind' is the relkind accepted by the publication clause.
 * The relkind of relation in given 'pri' is checked for compatibility
 * against it. Error is emitted if they are not compatible.

2)
describePublications:

  }
- else
+ if (puballtables)
  {

Now since else is converted to independent 'if' block we can add a
blank line before it for better readability.

Same for this:

  }
+ if (puballsequences)
+ {


3)

We have each test header like below starting from begining of file:

---------------------------------------------
-- Tests for inherited tables, and
-- EXCEPT clause tests for inherited tables
---------------------------------------------

---------------------------------------------
-- EXCEPT clause tests for partitioned tables
---------------------------------------------

So we can convert ours too in above format so that it is more visible:
+-- Test ALL SEQUENCES with EXCEPT clause

4)
We can add these tests to sql file:

a) SEQ keyword equivalent test to below table one:

-- fail - first table in the EXCEPT list should use TABLE keyword
CREATE PUBLICATION testpub_foralltables_excepttable2 FOR ALL TABLES
EXCEPT (testpub_tbl1, testpub_tbl2);

b) Try to add either of temporay or unlogged seq to except list.

thanks
Shveta



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