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: "Hayato Kuroda (Fujitsu)" <kuroda.hayato@fujitsu.com>
Cc: Peter Smith <smithpb2250@gmail.com>, Amit Kapila <amit.kapila16@gmail.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>, Ashutosh Bapat <ashutosh.bapat.oss@gmail.com>
Date: 2025-02-12T07:48:27Z
Lists: pgsql-hackers
On Wed, Feb 12, 2025 at 6:46 AM Hayato Kuroda (Fujitsu)
<kuroda.hayato@fujitsu.com> wrote:
>
> Dear Shubham,
>
> Thanks for updating the patch! I feel the patch has good shape. Here is a small comment.
>
> ```
> +       /* Error if no databases were found on the source server */
> +       if (num_rows == 0)
> +       {
> +               pg_log_error("no databases found on the source server");
> +               pg_log_error_hint("Ensure that there are user-created databases on the source server.");
> +               PQclear(res);
> +               disconnect_database(conn, false);
> +               exit(1);
> +       }
> ```
>
> I think the error message is not accurate. This error can happen when there are
> user-created database but it is created as template. How about below:
>
> ```
> -               pg_log_error("no databases found on the source server");
> -               pg_log_error_hint("Ensure that there are user-created databases on the source server.");
> +               pg_log_error("no convertable databases found on the source server");
> +               pg_log_error_hint("Ensure that there are non-template and connectable databases on the source server.");
> ```
>

Fixed the given comment. The attached patch at [1] contains the
suggested changes.

[1] - https://www.postgresql.org/message-id/CAHv8RjKc6LMJ86b4yCmwNTn0c65mz0BGMCF-vPJSKDMOGagVGA%40mail.gmail.com

Thanks and regards,
Shubham Khanna.



Commits

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

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