pg_createsubscriber: Improve error messages.
authorAmit Kapila <akapila@postgresql.org>
Fri, 4 Apr 2025 05:28:59 +0000 (10:58 +0530)
committerAmit Kapila <akapila@postgresql.org>
Fri, 4 Apr 2025 05:28:59 +0000 (10:58 +0530)
Consistently, an option name is used in the error messages where
applicable. Also, change the code to use pg_fatal() instead of a
combination of pg_log_error() and exit().

Author: vignesh C <vignesh21@gmail.com>
Reviewed-by: Hayato Kuroda <kuroda.hayato@fujitsu.com>
Reviewed-by: Amit Kapila <amit.kapila16@gmail.com>
Discussion: https://postgr.es/m/CALDaNm0HxF1RH27LP7VisLzNsSJbssy8a64M5p6UduDaBq6-ag@mail.gmail.com

src/bin/pg_basebackup/pg_createsubscriber.c
src/bin/pg_basebackup/t/040_pg_createsubscriber.pl

index eed3793c8168b20db3e2ca8e6766e15a0ae9070b..1d2f39e3926c9f82da8d698e4291505062e318a4 100644 (file)
@@ -2124,10 +2124,7 @@ main(int argc, char **argv)
                    num_dbs++;
                }
                else
-               {
-                   pg_log_error("database \"%s\" specified more than once", optarg);
-                   exit(1);
-               }
+                   pg_fatal("database \"%s\" specified more than once for -d/--database", optarg);
                break;
            case 'D':
                subscriber_dir = pg_strdup(optarg);
@@ -2146,7 +2143,7 @@ main(int argc, char **argv)
                if (!simple_string_list_member(&opt.objecttypes_to_remove, optarg))
                    simple_string_list_append(&opt.objecttypes_to_remove, optarg);
                else
-                   pg_fatal("object type \"%s\" is specified more than once for --remove", optarg);
+                   pg_fatal("object type \"%s\" is specified more than once for -R/--remove", optarg);
                break;
            case 's':
                opt.socket_dir = pg_strdup(optarg);
@@ -2174,10 +2171,7 @@ main(int argc, char **argv)
                    num_pubs++;
                }
                else
-               {
-                   pg_log_error("publication \"%s\" specified more than once", optarg);
-                   exit(1);
-               }
+                   pg_fatal("publication \"%s\" specified more than once for --publication", optarg);
                break;
            case 3:
                if (!simple_string_list_member(&opt.replslot_names, optarg))
@@ -2186,10 +2180,7 @@ main(int argc, char **argv)
                    num_replslots++;
                }
                else
-               {
-                   pg_log_error("replication slot \"%s\" specified more than once", optarg);
-                   exit(1);
-               }
+                   pg_fatal("replication slot \"%s\" specified more than once for --replication-slot", optarg);
                break;
            case 4:
                if (!simple_string_list_member(&opt.sub_names, optarg))
@@ -2198,10 +2189,7 @@ main(int argc, char **argv)
                    num_subs++;
                }
                else
-               {
-                   pg_log_error("subscription \"%s\" specified more than once", optarg);
-                   exit(1);
-               }
+                   pg_fatal("subscription \"%s\" specified more than once for --subscription", optarg);
                break;
            default:
                /* getopt_long already emitted a complaint */
@@ -2226,7 +2214,7 @@ main(int argc, char **argv)
 
        if (bad_switch)
        {
-           pg_log_error("%s cannot be used with --all", bad_switch);
+           pg_log_error("%s cannot be used with -a/--all", bad_switch);
            pg_log_error_hint("Try \"%s --help\" for more information.", progname);
            exit(1);
        }
@@ -2352,7 +2340,7 @@ main(int argc, char **argv)
            dbinfos.objecttypes_to_remove |= OBJECTTYPE_PUBLICATIONS;
        else
        {
-           pg_log_error("invalid object type \"%s\" specified for --remove", cell->val);
+           pg_log_error("invalid object type \"%s\" specified for -R/--remove", cell->val);
            pg_log_error_hint("The valid option is: \"publications\"");
            exit(1);
        }
index 80153f7d77e89a825426a18800b932906259d75f..2d532fee567dd20ec2eaf080532b81d261ecdfdf 100644 (file)
@@ -399,7 +399,7 @@ command_fails_like(
        '--database' => $db1,
        '--all',
    ],
-   qr/--database cannot be used with --all/,
+   qr/--database cannot be used with -a\/--all/,
    'fail if --database is used with --all');
 
 # run pg_createsubscriber with '--publication' and '--all' and verify
@@ -416,7 +416,7 @@ command_fails_like(
        '--all',
        '--publication' => 'pub1',
    ],
-   qr/--publication cannot be used with --all/,
+   qr/--publication cannot be used with -a\/--all/,
    'fail if --publication is used with --all');
 
 # run pg_createsubscriber with '--all' option