Re: Enhance 'pg_createsubscriber' to retrieve databases automatically when no database is provided.
Shubham Khanna <khannashubham1197@gmail.com>
From: Shubham Khanna <khannashubham1197@gmail.com>
To: Ashutosh Bapat <ashutosh.bapat.oss@gmail.com>
Cc: Amit Kapila <amit.kapila16@gmail.com>,
Peter Smith <smithpb2250@gmail.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2025-02-04T19:55:45Z
Lists: pgsql-hackers
Attachments
- v3-0001-Enhance-pg_createsubscriber-to-fetch-and-append-a.patch (application/octet-stream) patch v3-0001
On Tue, Feb 4, 2025 at 3:49 PM Ashutosh Bapat <ashutosh.bapat.oss@gmail.com> wrote: > > 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. Updated the documentation accordingly and added the current behaviour of -a/--all-databases option. > + /* 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? > Added a check to verify that publication and slot names are not manually specified when using -a/--all-databases option and updated the documentation accordingly. The attached patch contains the suggested changes. Thanks and regards, Shubham Khanna.
Commits
-
Cosmetic fixes for pg_createsubscriber's -all option.
- d438515c29c3 18.0 landed
-
pg_createsubscriber: Add '--all' option.
- fb2ea12f42b9 18.0 landed