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-29T00:31:52Z
Lists: pgsql-hackers
Hi Shlok. I only had one general comment about v14. IMO, it would be better to try to make the regression test object names more meaningful where possible (though sometimes it won't be). The xxx1, xxx2, and xxx3 become harder to read as more gets added. e.g. `regress_pub_seq3` -- What does 'pub' mean here? This is an unlogged sequence you want to exclude. e.g. `regress_pub_forallsequences4` -- Doesn't mean much. e.g. `tab_seq` -- This is meant to be a plain table; Not a table pretending to be a seq. Below is an example of some modifications, but there are many more. Consider checking all the names to see if they can be improved (sometimes you may be stuck having to accommodate existing names). (same comment applies to both patches). ~~~ BEFORE +-- fail - unlogged sequence is specified in EXCEPT sequence list +CREATE UNLOGGED SEQUENCE regress_pub_seq3; +CREATE PUBLICATION regress_pub_forallsequences4 FOR ALL SEQUENCES EXCEPT (SEQUENCE regress_pub_seq3); + +-- fail - temporary sequence is specified in EXCEPT sequence list +CREATE TEMPORARY SEQUENCE regress_pub_seq4; +CREATE PUBLICATION regress_pub_forallsequences4 FOR ALL SEQUENCES EXCEPT (SEQUENCE regress_pub_seq4); + +-- fail - sequence object is specified in EXCEPT table list +CREATE PUBLICATION regress_pub_forallsequences4 FOR ALL TABLES EXCEPT (TABLE regress_pub_seq0); + +-- fail - table object is specified in EXCEPT sequence list +CREATE TABLE tab_seq(a int); +CREATE PUBLICATION regress_pub_forallsequences4 FOR ALL SEQUENCES EXCEPT (SEQUENCE tab_seq); + SUGGESTION +-- fail - unlogged sequence is specified in EXCEPT sequence list +CREATE UNLOGGED SEQUENCE regress_seq_unlogged; +CREATE PUBLICATION regress_pub_should_fail FOR ALL SEQUENCES EXCEPT (SEQUENCE regress_seq_unlogged); + +-- fail - temporary sequence is specified in EXCEPT sequence list +CREATE TEMPORARY SEQUENCE regress_seq_temp; +CREATE PUBLICATION regress_pub_should_fail FOR ALL SEQUENCES EXCEPT (SEQUENCE regress_seq_temp); + +-- fail - sequence object is specified in EXCEPT table list +CREATE PUBLICATION regress_pub_should_fail FOR ALL TABLES EXCEPT (TABLE regress_seq1); + +-- 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); + ====== 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 →
-
Doc: Clarify that publication exclusions track table identity.
- 77b6dd909252 19 (unreleased) cited
-
Use schema-qualified names in EXCEPT clause error messages.
- a49b9cfd72d8 19 (unreleased) cited
-
psql: Improve describe footer titles for publications.
- 2e1d4fdb10e6 19 (unreleased) cited
-
Improve various new-to-v19 appendStringInfo calls
- 49ce41810fac 19 (unreleased) cited