Re: Add support for specifying tables in pg_createsubscriber.
От | Peter Smith |
---|---|
Тема | Re: Add support for specifying tables in pg_createsubscriber. |
Дата | |
Msg-id | CAHut+PvT5z9oq2UGPXg+AnUfY0EaDiwnKemzveWf1sah_8A_nA@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: Add support for specifying tables in pg_createsubscriber. (Shubham Khanna <khannashubham1197@gmail.com>) |
Ответы |
RE: Add support for specifying tables in pg_createsubscriber.
|
Список | pgsql-hackers |
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.
В списке pgsql-hackers по дате отправления: