Re: Add support for specifying tables in pg_createsubscriber.
Peter Smith <smithpb2250@gmail.com>
From: Peter Smith <smithpb2250@gmail.com>
To: Shubham Khanna <khannashubham1197@gmail.com>
Cc: "Zhijie Hou (Fujitsu)" <houzj.fnst@fujitsu.com>,
vignesh C <vignesh21@gmail.com>, "Hayato Kuroda (Fujitsu)" <kuroda.hayato@fujitsu.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2025-08-25T00:08:09Z
Lists: pgsql-hackers
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Support existing publications in pg_createsubscriber.
- 85ddcc2f4cde 19 (unreleased) landed
IIUC, the only purpose of the proposed '--table' spec is to allow some users the ability to tweak the default "CREATE PUBLICATION p FOR ALL TABLES;" that the 'pg_createsubscriber' tool would otherwise construct. But --table is introducing problems too: e.g. - tricky option ordering rules (e.g. most recent --database if dbname not specified?) - too many --table may be needed; redundant repeating of databases and schemas also seems very verbose. - limitations for syntax (e.g. what about FOR TABLES IN SCHEMA?) - limitations for future syntax (e.g. what about SEQUENCES?; what about EXCEPT?) Can these problems disappear just by slightly changing the meaning of the existing '--publication' option to allow specifying more than just the publication name: e.g. --publication = 'pub1' ==> "CREATE PUBLICATION pub1 FOR ALL TABLES;" --publication = 'pub1 FOR TABLE t1,t2(c1,c2),t3' ==> "CREATE PUBLICATION pub1 FOR TABLE t1,t2(c1,c2),t3;" --publication = 'pub1 FOR TABLES IN SCHEMA s1' ==> "CREATE PUBLICATION pub1 FOR TABLES IN SCHEMA s1;" --publication = 'pub1 FOR ALL TABLES WITH (publish_via_partition_root)' ==> "CREATE PUBLICATION pub1 FOR ALL TABLES WITH (publish_via_partition_root);" Here: - no new ordering rules; --publication/--database rules are already well-defined; nothing to do. - no new options; minimal document changes - no limitations on existing CREATE PUBLICATION syntax; minimal new code changes - future proof for new CREATE PUBLICATION syntax; zero code changes - expanding the '--publication' meaning could also be compatible with Euler's idea [1] to reuse existing publications ~~~ This idea could be error-prone, but it's only for a small subset of users who need more flexibility than the default pg_createsubscriber provides. And while it might be typo-prone, so is --table (e.g., --table 'db.typo.doesnotexist' is currently allowed). Did you consider this approach already? The thread seems to have started with --table as the assumed solution without mentioning if other options were discussed. Thoughts? ====== [1] https://www.postgresql.org/message-id/30cc34eb-07a0-4b55-b4fe-6c526886b2c4%40app.fastmail.com Kind Regards, Peter Smith. Fujitsu Australia.