Re: Enhance 'pg_createsubscriber' to retrieve databases automatically when no database is provided.

Amit Kapila <amit.kapila16@gmail.com>

From: Amit Kapila <amit.kapila16@gmail.com>
To: Peter Smith <smithpb2250@gmail.com>
Cc: Ashutosh Bapat <ashutosh.bapat.oss@gmail.com>, Shubham Khanna <khannashubham1197@gmail.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2025-01-30T06:38:08Z
Lists: pgsql-hackers
On Thu, Jan 30, 2025 at 6:21 AM Peter Smith <smithpb2250@gmail.com> wrote:
>
> On Wed, Jan 29, 2025 at 4:44 PM Amit Kapila <amit.kapila16@gmail.com> wrote:
> >
> > On Tue, Jan 28, 2025 at 12:01 PM Ashutosh Bapat
> > <ashutosh.bapat.oss@gmail.com> wrote:
> > >
> > > If we want to stick to --database= supporting a pattern looks better
> > > than just a single special pattern *.
> > >
> >
> > This sounds reasonable to me as well. Note that the interaction of
> > other parameters like --replication-slot is not yet discussed. I think
> > if the number of slots given matches with the number of databases
> > fetched based on pattern matches then we can use them otherwise,
> > return the ERROR. The other option could be that we don't allow
> > options like --replication-slot along with pattern matching option.
> >
>
> I have had second thoughts about my pattern idea. Now, I favour just
> adding another --all-databases switch like Ashutosh had suggested [1]
> in the first place.
>
> I had overlooked the rules saying that the user is allowed to specify
> *multiple* --publication or --replication-slot or --subscription name
> switches, but when doing so they have to match the same number of
> --database switches. Using a --dbname=pattern would be fraught with
> complications. e.g. How can we know up-front how many databases the
> dbname pattern will resolve to, and even in what order they get
> resolved?
>

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.

-- 
With Regards,
Amit Kapila.



Commits

  1. Cosmetic fixes for pg_createsubscriber's -all option.

  2. pg_createsubscriber: Add '--all' option.