Re: Enhance 'pg_createsubscriber' to retrieve databases automatically when no database is provided.
Ashutosh Bapat <ashutosh.bapat.oss@gmail.com>
From: Ashutosh Bapat <ashutosh.bapat.oss@gmail.com>
To: Shubham Khanna <khannashubham1197@gmail.com>
Cc: Amit Kapila <amit.kapila16@gmail.com>,
Peter Smith <smithpb2250@gmail.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2025-02-04T10:19:32Z
Lists: pgsql-hackers
Hi Shubham, On Tue, Feb 4, 2025 at 2:10 PM Shubham Khanna <khannashubham1197@gmail.com> wrote: > > > > > > > It could be a bit tricky to find that for users but they can devise a > > query to get the names and numbers of databases matching the given > > pattern. OTOH, I am not sure there is a clear need at this stage for > > pattern matching for this tool. So, we can go with a simple switch as > > you are proposing at this stage. > > > > After reconsidering the idea of supporting '--all-databases' switch is > the better approach at this stage, I have added the new switch in the > latest patch. > The attached patch contains the suggested changes. + If neither <option>-d</option> nor <option>-a</option> is + specified, <application>pg_createsubscriber</application> will use + <option>--all-databases</option> by default. As pointed upthread by me and Peter, using --all-databases by default is not a good behaviour. But the code doesn't behave like --all-databases by default. Looks like we need to fix the documentation. + /* Generate publication and slot names if not specified */ + SimpleStringListCell *cell; + + fetch_all_databases(opt); + + cell = opt->database_names.head; We don't seem to check existence of publication and slot name specification as the comment indicates. Do we need to check that those names are not specified at all? and also mention in the documentation that those specifications are required when using -a/--all-databases option? -- Best Wishes, Ashutosh Bapat
Commits
-
Cosmetic fixes for pg_createsubscriber's -all option.
- d438515c29c3 18.0 landed
-
pg_createsubscriber: Add '--all' option.
- fb2ea12f42b9 18.0 landed