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: shveta malik <shveta.malik@gmail.com>, vignesh C <vignesh21@gmail.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2026-06-30T23:49:13Z
Lists: pgsql-hackers
Hi Shlok.

Some review comments for v15.

//////
v15-0001
//////

======
GENERAL

1.
The "20devel" is available, so now you can modify those version checks
in pg_dump.c and describe.c code.

======
src/test/regress/sql/publication.sql

2.
+-- fail - table object is specified in EXCEPT sequence list
+CREATE TABLE tab1(a int);
+CREATE PUBLICATION regress_pub_should_fail FOR ALL SEQUENCES EXCEPT
(SEQUENCE tab1);

All the other objects have a `regress_` prefix so should this be `regress_tab1`?

~~~

3.
+-- Test combination of ALL SEQUENCES and ALL TABLES with EXCEPT clause
+SET client_min_messages = 'ERROR';
+CREATE PUBLICATION regress_pub_for_allsequences_alltables_except FOR
ALL TABLES EXCEPT (TABLE testpub_tbl1), ALL SEQUENCES EXCEPT (SEQUENCE
regress_seq0);
+\dRp+ regress_pub_for_allsequences_alltables_except
+RESET client_min_messages;

3a.
I suggest moving this test to be grouped with the earlier non-failing
tests. Probably then you won't need the extra set/reset
client_min_messages.

~

3b.
Maybe you could have excluded the same `tab1` (renamed `regress_tab1`)
that was created, instead of excluding some random table from
elsewhere.

======
src/test/subscription/t/037_except.pl

4.
+$node_subscriber->safe_psql('postgres',
+ 'DROP SUBSCRIPTION tap_sub_all_seq_except');
+$node_publisher->safe_psql('postgres',
+ 'DROP PUBLICATION tap_pub_all_seq_except1');
+$node_publisher->safe_psql('postgres',
+ 'DROP PUBLICATION tap_pub_all_seq_except2');
+
 $node_publisher->stop('fast');

Missing a comment that says "Cleanup" ?

======
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