Re: Support EXCEPT for TABLES IN SCHEMA publications
Zsolt Parragi <zsolt.parragi@percona.com>
From: Zsolt Parragi <zsolt.parragi@percona.com>
To: pgsql-hackers@lists.postgresql.org
Date: 2026-06-02T21:21:48Z
Lists: pgsql-hackers
Hello In this simple script: CREATE SCHEMA s; CREATE TABLE s.a(i int); CREATE TABLE s.b(i int); CREATE PUBLICATION p FOR TABLES IN SCHEMA s EXCEPT (TABLE s.b); SELECT * FROM pg_publication_tables WHERE pubname = 'p'; SELECT * FROM pg_get_publication_tables(ARRAY['p'], 's.b'::regclass); Shouldn't the second select return an empty list? Currently it returns one row for s.b. And I think there's also a bug with CREATE PUBLICATION with IN SCHEMA CURRENT_SCHEMA: CREATE SCHEMA s1; CREATE TABLE s1.a(i int); CREATE TABLE public.x(i int); CREATE TABLE public.onlypub(i int); -- exists only in public, not in s1 CREATE PUBLICATION pn FOR TABLES IN SCHEMA s1 EXCEPT (TABLE public.x); -- error out, good SET search_path = s1, public; CREATE PUBLICATION pn2 FOR TABLES IN SCHEMA s1 EXCEPT (TABLE onlypub); -- error out, good SET search_path = s1, public; SELECT current_schema(); -- s1 CREATE PUBLICATION pc FOR TABLES IN SCHEMA CURRENT_SCHEMA EXCEPT (TABLE public.x); -- doesn't error out CREATE PUBLICATION pc4 FOR TABLES IN SCHEMA CURRENT_SCHEMA EXCEPT (TABLE onlypub); -- also doesn't error out
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