]> git.ipfire.org Git - thirdparty/postgresql.git/commitdiff
Message style improvements
authorPeter Eisentraut <peter@eisentraut.org>
Mon, 16 Jun 2025 09:14:39 +0000 (11:14 +0200)
committerPeter Eisentraut <peter@eisentraut.org>
Mon, 16 Jun 2025 09:14:39 +0000 (11:14 +0200)
Some message style improvements in new code, and some small
refactorings to make translations easier.

16 files changed:
src/bin/pg_basebackup/pg_createsubscriber.c
src/bin/pg_basebackup/pg_recvlogical.c
src/bin/pg_basebackup/t/040_pg_createsubscriber.pl
src/bin/pg_dump/pg_dump.c
src/bin/pg_dump/pg_dumpall.c
src/bin/pg_dump/pg_restore.c
src/bin/pg_dump/t/001_basic.pl
src/bin/pg_dump/t/006_pg_dumpall.pl
src/bin/pg_upgrade/check.c
src/bin/pg_upgrade/relfilenumber.c
src/bin/pg_upgrade/t/005_char_signedness.pl
src/bin/pg_upgrade/task.c
src/bin/psql/command.c
src/bin/psql/describe.c
src/bin/psql/help.c
src/bin/psql/variables.c

index f65acc7cb1141294701e64703ecc4046bb289394..c43c0cbbba5a65769af6d4c454bfc7cbc97ceac1 100644 (file)
@@ -247,14 +247,14 @@ usage(void)
        printf(_("  %s [OPTION]...\n"), progname);
        printf(_("\nOptions:\n"));
        printf(_("  -a, --all                       create subscriptions for all databases except template\n"
-                        "                                  databases or databases that don't allow connections\n"));
+                        "                                  databases and databases that don't allow connections\n"));
        printf(_("  -d, --database=DBNAME           database in which to create a subscription\n"));
        printf(_("  -D, --pgdata=DATADIR            location for the subscriber data directory\n"));
        printf(_("  -n, --dry-run                   dry run, just show what would be done\n"));
        printf(_("  -p, --subscriber-port=PORT      subscriber port number (default %s)\n"), DEFAULT_SUB_PORT);
        printf(_("  -P, --publisher-server=CONNSTR  publisher connection string\n"));
        printf(_("  -R, --remove=OBJECTTYPE         remove all objects of the specified type from specified\n"
-                        "                                  databases on the subscriber; accepts: publications\n"));
+                        "                                  databases on the subscriber; accepts: \"%s\"\n"), "publications");
        printf(_("  -s, --socketdir=DIR             socket directory to use (default current dir.)\n"));
        printf(_("  -t, --recovery-timeout=SECS     seconds to wait for recovery to end\n"));
        printf(_("  -T, --enable-two-phase          enable two-phase commit for all subscriptions\n"));
@@ -973,7 +973,7 @@ check_publisher(const struct LogicalRepInfo *dbinfo)
                pg_log_warning("two_phase option will not be enabled for replication slots");
                pg_log_warning_detail("Subscriptions will be created with the two_phase option disabled.  "
                                                          "Prepared transactions will be replicated at COMMIT PREPARED.");
-               pg_log_warning_hint("You can use --enable-two-phase switch to enable two_phase.");
+               pg_log_warning_hint("You can use the command-line option --enable-two-phase to enable two_phase.");
        }
 
        /*
@@ -2143,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 -R/--remove", optarg);
+                                       pg_fatal("object type \"%s\" specified more than once for -R/--remove", optarg);
                                break;
                        case 's':
                                opt.socket_dir = pg_strdup(optarg);
@@ -2214,7 +2214,7 @@ main(int argc, char **argv)
 
                if (bad_switch)
                {
-                       pg_log_error("%s cannot be used with -a/--all", bad_switch);
+                       pg_log_error("options %s and -a/--all cannot be used together", bad_switch);
                        pg_log_error_hint("Try \"%s --help\" for more information.", progname);
                        exit(1);
                }
@@ -2341,7 +2341,7 @@ main(int argc, char **argv)
                else
                {
                        pg_log_error("invalid object type \"%s\" specified for -R/--remove", cell->val);
-                       pg_log_error_hint("The valid option is: \"publications\"");
+                       pg_log_error_hint("The valid value is: \"%s\"", "publications");
                        exit(1);
                }
        }
index e6810efe5f0d7acea71b0e5fbd1764a4ebefb5cc..4b4b545917d7dbc3449f3cac071ab4b0a49c99e9 100644 (file)
@@ -91,7 +91,7 @@ usage(void)
        printf(_("\nOptions:\n"));
        printf(_("  -E, --endpos=LSN       exit after receiving the specified LSN\n"));
        printf(_("      --failover         enable replication slot synchronization to standby servers when\n"
-                        "                         creating a slot\n"));
+                        "                         creating a replication slot\n"));
        printf(_("  -f, --file=FILE        receive log into this file, - for stdout\n"));
        printf(_("  -F  --fsync-interval=SECS\n"
                         "                         time between fsyncs to the output file (default: %d)\n"), (fsync_interval / 1000));
index 2d532fee567dd20ec2eaf080532b81d261ecdfdf..df4924023fdf2493e78132e8e8f028821cffdc91 100644 (file)
@@ -399,7 +399,7 @@ command_fails_like(
                '--database' => $db1,
                '--all',
        ],
-       qr/--database cannot be used with -a\/--all/,
+       qr/options --database and -a\/--all cannot be used together/,
        '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 -a\/--all/,
+       qr/options --publication and -a\/--all cannot be used together/,
        'fail if --publication is used with --all');
 
 # run pg_createsubscriber with '--all' option
index 37432e66efd7cc92412b642aa6e95c9483da4c0c..7bc0724cd301f50386a9e4b0a3ca63cb781e78f2 100644 (file)
@@ -6936,7 +6936,7 @@ getRelationStatistics(Archive *fout, DumpableObject *rel, int32 relpages,
                                info->section = SECTION_POST_DATA;
                                break;
                        default:
-                               pg_fatal("cannot dump statistics for relation kind '%c'",
+                               pg_fatal("cannot dump statistics for relation kind \"%c\"",
                                                 info->relkind);
                }
 
@@ -9461,7 +9461,7 @@ getTableAttrs(Archive *fout, TableInfo *tblinfo, int numTables)
                int                     i_consrc;
                int                     i_conislocal;
 
-               pg_log_info("finding invalid not null constraints");
+               pg_log_info("finding invalid not-null constraints");
 
                resetPQExpBuffer(q);
                appendPQExpBuffer(q,
@@ -10855,7 +10855,7 @@ dumpRelationStats_dumper(Archive *fout, const void *userArg, const TocEntry *te)
                expected_te = expected_te->next;
 
        if (te != expected_te)
-               pg_fatal("stats dumped out of order (current: %d %s %s) (expected: %d %s %s)",
+               pg_fatal("statistics dumped out of order (current: %d %s %s, expected: %d %s %s)",
                                 te->dumpId, te->desc, te->tag,
                                 expected_te->dumpId, expected_te->desc, expected_te->tag);
 
@@ -10996,7 +10996,7 @@ dumpRelationStats_dumper(Archive *fout, const void *userArg, const TocEntry *te)
                appendStringLiteralAH(out, rsinfo->dobj.name, fout);
 
                if (PQgetisnull(res, rownum, i_attname))
-                       pg_fatal("attname cannot be NULL");
+                       pg_fatal("unexpected null attname");
                attname = PQgetvalue(res, rownum, i_attname);
 
                /*
index 7f9c302b719ec41ff896cc19ac883f1e2449be33..b1f388cb391609f1a48b5801c4ce7e96f88d7d7c 100644 (file)
@@ -525,7 +525,7 @@ main(int argc, char *argv[])
 
                OPF = fopen(global_path, PG_BINARY_W);
                if (!OPF)
-                       pg_fatal("could not open \"%s\": %m", global_path);
+                       pg_fatal("could not open file \"%s\": %m", global_path);
        }
        else if (filename)
        {
@@ -1659,14 +1659,14 @@ dumpDatabases(PGconn *conn, ArchiveFormat archDumpFormat)
 
                /* Create a subdirectory with 'databases' name under main directory. */
                if (mkdir(db_subdir, pg_dir_create_mode) != 0)
-                       pg_fatal("could not create subdirectory \"%s\": %m", db_subdir);
+                       pg_fatal("could not create directory \"%s\": %m", db_subdir);
 
                snprintf(map_file_path, MAXPGPATH, "%s/map.dat", filename);
 
                /* Create a map file (to store dboid and dbname) */
                map_file = fopen(map_file_path, PG_BINARY_W);
                if (!map_file)
-                       pg_fatal("could not open map file: %s", strerror(errno));
+                       pg_fatal("could not open file \"%s\": %m", map_file_path);
        }
 
        for (i = 0; i < PQntuples(res); i++)
@@ -1976,7 +1976,7 @@ parseDumpFormat(const char *format)
        else if (pg_strcasecmp(format, "tar") == 0)
                archDumpFormat = archTar;
        else
-               pg_fatal("unrecognized archive format \"%s\"; please specify \"c\", \"d\", \"p\", or \"t\"",
+               pg_fatal("unrecognized output format \"%s\"; please specify \"c\", \"d\", \"p\", or \"t\"",
                                 format);
 
        return archDumpFormat;
index c4b6214d618cd5bbc79c253ddb1feda4d1c93e14..6ef789cb06d636cc8db7979bc7f674466cb89af2 100644 (file)
@@ -523,7 +523,7 @@ main(int argc, char **argv)
                 */
                if (!globals_only && opts->createDB != 1)
                {
-                       pg_log_error("-C/--create option should be specified when restoring an archive created by pg_dumpall");
+                       pg_log_error("option -C/--create must be specified when restoring an archive created by pg_dumpall");
                        pg_log_error_hint("Try \"%s --help\" for more information.", progname);
                        pg_log_error_hint("Individual databases can be restored using their specific archives.");
                        exit_nicely(1);
@@ -557,7 +557,7 @@ main(int argc, char **argv)
                        if (conn)
                                PQfinish(conn);
 
-                       pg_log_info("database restoring skipped as -g/--globals-only option was specified");
+                       pg_log_info("database restoring skipped because option -g/--globals-only was specified");
                }
                else
                {
@@ -725,8 +725,8 @@ usage(const char *progname)
        printf(_("  --role=ROLENAME          do SET ROLE before restore\n"));
 
        printf(_("\n"
-                        "The options -I, -n, -N, -P, -t, -T, --section, and --exclude-database can be combined\n"
-                        "and specified multiple times to select multiple objects.\n"));
+                        "The options -I, -n, -N, -P, -t, -T, --section, and --exclude-database can be\n"
+                        "combined and specified multiple times to select multiple objects.\n"));
        printf(_("\nIf no input file name is supplied, then standard input is used.\n\n"));
        printf(_("Report bugs to <%s>.\n"), PACKAGE_BUGREPORT);
        printf(_("%s home page: <%s>\n"), PACKAGE_NAME, PACKAGE_URL);
@@ -946,7 +946,7 @@ get_dbnames_list_to_restore(PGconn *conn,
        query = createPQExpBuffer();
 
        if (!conn)
-               pg_log_info("considering PATTERN as NAME for --exclude-database option as no db connection while doing pg_restore.");
+               pg_log_info("considering PATTERN as NAME for --exclude-database option as no database connection while doing pg_restore");
 
        /*
         * Process one by one all dbnames and if specified to skip restoring, then
@@ -992,7 +992,7 @@ get_dbnames_list_to_restore(PGconn *conn,
                                if ((PQresultStatus(res) == PGRES_TUPLES_OK) && PQntuples(res))
                                {
                                        skip_db_restore = true;
-                                       pg_log_info("database \"%s\" matches exclude pattern: \"%s\"", dbidname->str, pat_cell->val);
+                                       pg_log_info("database name \"%s\" matches exclude pattern \"%s\"", dbidname->str, pat_cell->val);
                                }
 
                                PQclear(res);
@@ -1048,7 +1048,7 @@ get_dbname_oid_list_from_mfile(const char *dumpdirpath, SimplePtrList *dbname_oi
         */
        if (!file_exists_in_directory(dumpdirpath, "map.dat"))
        {
-               pg_log_info("database restoring is skipped as \"map.dat\" is not present in \"%s\"", dumpdirpath);
+               pg_log_info("database restoring is skipped because file \"%s\" does not exist in directory \"%s\"", "map.dat", dumpdirpath);
                return 0;
        }
 
@@ -1058,7 +1058,7 @@ get_dbname_oid_list_from_mfile(const char *dumpdirpath, SimplePtrList *dbname_oi
        pfile = fopen(map_file_path, PG_BINARY_R);
 
        if (pfile == NULL)
-               pg_fatal("could not open \"%s\": %m", map_file_path);
+               pg_fatal("could not open file \"%s\": %m", map_file_path);
 
        initStringInfo(&linebuf);
 
@@ -1086,10 +1086,10 @@ get_dbname_oid_list_from_mfile(const char *dumpdirpath, SimplePtrList *dbname_oi
 
                /* Report error and exit if the file has any corrupted data. */
                if (!OidIsValid(db_oid) || namelen <= 1)
-                       pg_fatal("invalid entry in \"%s\" at line: %d", map_file_path,
+                       pg_fatal("invalid entry in file \"%s\" on line %d", map_file_path,
                                         count + 1);
 
-               pg_log_info("found database \"%s\" (OID: %u) in \"%s\"",
+               pg_log_info("found database \"%s\" (OID: %u) in file \"%s\"",
                                        dbname, db_oid, map_file_path);
 
                dbidname = pg_malloc(offsetof(DbOidName, str) + namelen + 1);
@@ -1142,11 +1142,14 @@ restore_all_databases(PGconn *conn, const char *dumpdirpath,
        if (dbname_oid_list.head == NULL)
                return process_global_sql_commands(conn, dumpdirpath, opts->filename);
 
-       pg_log_info("found %d database names in \"map.dat\"", num_total_db);
+       pg_log_info(ngettext("found %d database name in \"%s\"",
+                                                "found %d database names in \"%s\"",
+                                                num_total_db),
+                               num_total_db, "map.dat");
 
        if (!conn)
        {
-               pg_log_info("trying to connect database \"postgres\"");
+               pg_log_info("trying to connect to database \"%s\"", "postgres");
 
                conn = ConnectDatabase("postgres", NULL, opts->cparams.pghost,
                                                           opts->cparams.pgport, opts->cparams.username, TRI_DEFAULT,
@@ -1155,7 +1158,7 @@ restore_all_databases(PGconn *conn, const char *dumpdirpath,
                /* Try with template1. */
                if (!conn)
                {
-                       pg_log_info("trying to connect database \"template1\"");
+                       pg_log_info("trying to connect to database \"%s\"", "template1");
 
                        conn = ConnectDatabase("template1", NULL, opts->cparams.pghost,
                                                                   opts->cparams.pgport, opts->cparams.username, TRI_DEFAULT,
@@ -1179,7 +1182,9 @@ restore_all_databases(PGconn *conn, const char *dumpdirpath,
        /* Exit if no db needs to be restored. */
        if (dbname_oid_list.head == NULL || num_db_restore == 0)
        {
-               pg_log_info("no database needs to restore out of %d databases", num_total_db);
+               pg_log_info(ngettext("no database needs restoring out of %d database",
+                                                        "no database needs restoring out of %d databases", num_total_db),
+                                       num_total_db);
                return n_errors_total;
        }
 
@@ -1314,7 +1319,7 @@ process_global_sql_commands(PGconn *conn, const char *dumpdirpath, const char *o
        pfile = fopen(global_file_path, PG_BINARY_R);
 
        if (pfile == NULL)
-               pg_fatal("could not open \"%s\": %m", global_file_path);
+               pg_fatal("could not open file \"%s\": %m", global_file_path);
 
        /*
         * If outfile is given, then just copy all global.dat file data into
@@ -1354,15 +1359,17 @@ process_global_sql_commands(PGconn *conn, const char *dumpdirpath, const char *o
                                break;
                        default:
                                n_errors++;
-                               pg_log_error("could not execute query: \"%s\" \nCommand was: \"%s\"", PQerrorMessage(conn), sqlstatement.data);
+                               pg_log_error("could not execute query: %s", PQerrorMessage(conn));
+                               pg_log_error_detail("Command was: %s", sqlstatement.data);
                }
                PQclear(result);
        }
 
        /* Print a summary of ignored errors during global.dat. */
        if (n_errors)
-               pg_log_warning("ignored %d errors in \"%s\"", n_errors, global_file_path);
-
+               pg_log_warning(ngettext("ignored %d error in file \"%s\"",
+                                                               "ignored %d errors in file \"%s\"", n_errors),
+                                          n_errors, global_file_path);
        fclose(pfile);
 
        return n_errors;
index 84ca25e17d636b027f04fa2e2d1d647d4d3392e5..0be9f6dd538fd5d1e7423436394896cbf8c140ff 100644 (file)
@@ -261,6 +261,6 @@ command_fails_like(
 
 command_fails_like(
        [ 'pg_dumpall', '--format', 'x' ],
-       qr/\Qpg_dumpall: error: unrecognized archive format "x";\E/,
-       'pg_dumpall: unrecognized archive format');
+       qr/\Qpg_dumpall: error: unrecognized output format "x";\E/,
+       'pg_dumpall: unrecognized output format');
 done_testing();
index 5acd49f1559d2cc9cad6df7d74d5d08a14b8fb5c..0ea02a3a4a940816e7e59aeb4d1c4ab8bc9b225c 100644 (file)
@@ -365,7 +365,7 @@ $node->command_fails_like(
     "$tempdir/format_custom",
     '--format' => 'custom',
     '--file' => "$tempdir/error_test.sql", ],
-    qr/\Qpg_restore: error: -C\/--create option should be specified when restoring an archive created by pg_dumpall\E/,
+    qr/\Qpg_restore: error: option -C\/--create must be specified when restoring an archive created by pg_dumpall\E/,
     'When -C is not used in pg_restore with dump of pg_dumpall');
 
 # test case 2: When --list option is used with dump of pg_dumpall
index 940fc77fc2e8cdc0b73aa0f1a10c691e89d246c1..81865cd3e4859cb5ca9121b391536b2d7f3d668f 100644 (file)
@@ -885,7 +885,7 @@ check_cluster_versions(void)
         */
        if (GET_MAJOR_VERSION(old_cluster.major_version) >= 1800 &&
                user_opts.char_signedness != -1)
-               pg_fatal("%s option cannot be used to upgrade from PostgreSQL %s and later.",
+               pg_fatal("The option %s cannot be used for upgrades from PostgreSQL %s and later.",
                                 "--set-char-signedness", "18");
 
        check_ok();
@@ -1934,7 +1934,7 @@ check_for_unicode_update(ClusterInfo *cluster)
        {
                fclose(report.file);
                report_status(PG_WARNING, "warning");
-               pg_log(PG_WARNING, "Your installation contains relations that may be affected by a new version of Unicode.\n"
+               pg_log(PG_WARNING, "Your installation contains relations that might be affected by a new version of Unicode.\n"
                           "A list of potentially-affected relations is in the file:\n"
                           "    %s", report.path);
        }
index 2959c07f0b8d129a3902ba7de28d64e8eeed85bf..8d8e816a01fa497e05f6c0a6ce017ef744b7ec14 100644 (file)
@@ -290,19 +290,19 @@ prepare_for_swap(const char *old_tablespace, Oid db_oid,
 
        /* Create directory for stuff that is moved aside. */
        if (pg_mkdir_p(moved_tblspc, pg_dir_create_mode) != 0 && errno != EEXIST)
-               pg_fatal("could not create directory \"%s\"", moved_tblspc);
+               pg_fatal("could not create directory \"%s\": %m", moved_tblspc);
 
        /* Create directory for old catalog files. */
        if (pg_mkdir_p(old_catalog_dir, pg_dir_create_mode) != 0)
-               pg_fatal("could not create directory \"%s\"", old_catalog_dir);
+               pg_fatal("could not create directory \"%s\": %m", old_catalog_dir);
 
        /* Move the new cluster's database directory aside. */
        if (rename(new_db_dir, moved_db_dir) != 0)
-               pg_fatal("could not rename \"%s\" to \"%s\"", new_db_dir, moved_db_dir);
+               pg_fatal("could not rename directory \"%s\" to \"%s\": %m", new_db_dir, moved_db_dir);
 
        /* Move the old cluster's database directory into place. */
        if (rename(old_db_dir, new_db_dir) != 0)
-               pg_fatal("could not rename \"%s\" to \"%s\"", old_db_dir, new_db_dir);
+               pg_fatal("could not rename directory \"%s\" to \"%s\": %m", old_db_dir, new_db_dir);
 
        return true;
 }
@@ -390,7 +390,7 @@ swap_catalog_files(FileNameMap *maps, int size, const char *old_catalog_dir,
 
                snprintf(dest, sizeof(dest), "%s/%s", old_catalog_dir, de->d_name);
                if (rename(path, dest) != 0)
-                       pg_fatal("could not rename \"%s\" to \"%s\": %m", path, dest);
+                       pg_fatal("could not rename file \"%s\" to \"%s\": %m", path, dest);
        }
        if (errno)
                pg_fatal("could not read directory \"%s\": %m", new_db_dir);
@@ -417,7 +417,7 @@ swap_catalog_files(FileNameMap *maps, int size, const char *old_catalog_dir,
 
                snprintf(dest, sizeof(dest), "%s/%s", new_db_dir, de->d_name);
                if (rename(path, dest) != 0)
-                       pg_fatal("could not rename \"%s\" to \"%s\": %m", path, dest);
+                       pg_fatal("could not rename file \"%s\" to \"%s\": %m", path, dest);
 
                /*
                 * We don't fsync() the database files in the file synchronization
index 17fa0d48b15c18bfa675024383e06b45575e9583..cd8cff6f5132d78d512da3981499660dbe35a6af 100644 (file)
@@ -65,7 +65,7 @@ command_checks_all(
                $mode
        ],
        1,
-       [qr/--set-char-signedness option cannot be used/],
+       [qr/option --set-char-signedness cannot be used/],
        [],
        '--set-char-signedness option cannot be used for upgrading from v18 or later'
 );
index a48d56913908d2877df509d0581cf2ab2eabe2d5..ee0e24571521590dc749784ecd3cb71941d35e62 100644 (file)
@@ -192,8 +192,7 @@ start_conn(const ClusterInfo *cluster, UpgradeTaskSlot *slot)
        slot->conn = PQconnectStart(conn_opts.data);
 
        if (!slot->conn)
-               pg_fatal("failed to create connection with connection string: \"%s\"",
-                                conn_opts.data);
+               pg_fatal("out of memory");
 
        termPQExpBuffer(&conn_opts);
 }
@@ -402,7 +401,7 @@ wait_on_slots(UpgradeTaskSlot *slots, int numslots)
         * If we found socket(s) to wait on, wait.
         */
        if (select_loop(maxFd, &input, &output) == -1)
-               pg_fatal("select() failed: %m");
+               pg_fatal("%s() failed: %m", "select");
 
        /*
         * Mark which sockets appear to be ready.
index e26c010d044ee23d095c5723eaa7221fe29b651e..83e84a778411a80643e403ac1fc8b2afb1819f7e 100644 (file)
@@ -1949,7 +1949,7 @@ exec_command_gexec(PsqlScanState scan_state, bool active_branch)
        {
                if (PQpipelineStatus(pset.db) != PQ_PIPELINE_OFF)
                {
-                       pg_log_error("\\gexec not allowed in pipeline mode");
+                       pg_log_error("\\%s not allowed in pipeline mode", "gexec");
                        clean_extended_state();
                        return PSQL_CMD_ERROR;
                }
@@ -1975,7 +1975,7 @@ exec_command_gset(PsqlScanState scan_state, bool active_branch)
 
                if (PQpipelineStatus(pset.db) != PQ_PIPELINE_OFF)
                {
-                       pg_log_error("\\gset not allowed in pipeline mode");
+                       pg_log_error("\\%s not allowed in pipeline mode", "gset");
                        clean_extended_state();
                        return PSQL_CMD_ERROR;
                }
@@ -3287,7 +3287,7 @@ exec_command_watch(PsqlScanState scan_state, bool active_branch,
 
                if (PQpipelineStatus(pset.db) != PQ_PIPELINE_OFF)
                {
-                       pg_log_error("\\watch not allowed in pipeline mode");
+                       pg_log_error("\\%s not allowed in pipeline mode", "watch");
                        clean_extended_state();
                        success = false;
                }
index 24e0100c9f0a8bd89b2228875d075f866b101ea4..dd25d2fe7b8a7265a86ed447d1a1a826c17d77fd 100644 (file)
@@ -296,6 +296,7 @@ describeFunctions(const char *functypes, const char *func_pattern,
                                  char **arg_patterns, int num_arg_patterns,
                                  bool verbose, bool showSystem)
 {
+       const char *df_options = "anptwSx+";
        bool            showAggregate = strchr(functypes, 'a') != NULL;
        bool            showNormal = strchr(functypes, 'n') != NULL;
        bool            showProcedure = strchr(functypes, 'p') != NULL;
@@ -310,9 +311,9 @@ describeFunctions(const char *functypes, const char *func_pattern,
        /* No "Parallel" column before 9.6 */
        static const bool translate_columns_pre_96[] = {false, false, false, false, true, true, false, true, true, false, false, false, false};
 
-       if (strlen(functypes) != strspn(functypes, "anptwSx+"))
+       if (strlen(functypes) != strspn(functypes, df_options))
        {
-               pg_log_error("\\df only takes [anptwSx+] as options");
+               pg_log_error("\\df only takes [%s] as options", df_options);
                return true;
        }
 
index ce05b3a5132550c139083171af4dcb8057d65e89..db6adec8b692be75a1c6aa0f61bc70bd5f636515 100644 (file)
@@ -252,7 +252,8 @@ slashUsage(unsigned short int pager)
        HELP0("  \\dO[Sx+] [PATTERN]     list collations\n");
        HELP0("  \\dp[Sx]  [PATTERN]     list table, view, and sequence access privileges\n");
        HELP0("  \\dP[itnx+] [PATTERN]   list [only index/table] partitioned relations [n=nested]\n");
-       HELP0("  \\drds[x] [ROLEPTRN [DBPTRN]] list per-database role settings\n");
+       HELP0("  \\drds[x] [ROLEPTRN [DBPTRN]]\n"
+                 "                         list per-database role settings\n");
        HELP0("  \\drg[Sx] [PATTERN]     list role grants\n");
        HELP0("  \\dRp[x+] [PATTERN]     list replication publications\n");
        HELP0("  \\dRs[x+] [PATTERN]     list replication subscriptions\n");
@@ -334,8 +335,7 @@ slashUsage(unsigned short int pager)
        HELP0("  \\endpipeline           exit pipeline mode\n");
        HELP0("  \\flush                 flush output data to the server\n");
        HELP0("  \\flushrequest          send request to the server to flush its output buffer\n");
-       HELP0("  \\getresults [NUM_RES]  read NUM_RES pending results. All pending results are\n"
-                 "                         read if no argument is provided\n");
+       HELP0("  \\getresults [NUM_RES]  read NUM_RES pending results, or all if no argument\n");
        HELP0("  \\parse STMT_NAME       create a prepared statement\n");
        HELP0("  \\sendpipeline          send an extended query to an ongoing pipeline\n");
        HELP0("  \\startpipeline         enter pipeline mode\n");
index ae2d0e5ed3f4720be8ea3280d1f76b0ead4eca38..6b64302ebca86830c73dca03602642352e107a72 100644 (file)
@@ -204,7 +204,7 @@ ParseVariableDouble(const char *value, const char *name, double *result, double
        if ((value == NULL) || (*value == '\0'))
        {
                if (name)
-                       pg_log_error("invalid input syntax for \"%s\"", name);
+                       pg_log_error("invalid input syntax for variable \"%s\"", name);
                return false;
        }
 
@@ -215,14 +215,14 @@ ParseVariableDouble(const char *value, const char *name, double *result, double
                if (dblval < min)
                {
                        if (name)
-                               pg_log_error("invalid value \"%s\" for \"%s\": must be greater than %.2f",
+                               pg_log_error("invalid value \"%s\" for variable \"%s\": must be greater than %.2f",
                                                         value, name, min);
                        return false;
                }
                else if (dblval > max)
                {
                        if (name)
-                               pg_log_error("invalid value \"%s\" for \"%s\": must be less than %.2f",
+                               pg_log_error("invalid value \"%s\" for variable \"%s\": must be less than %.2f",
                                                         value, name, max);
                }
                *result = dblval;
@@ -238,13 +238,13 @@ ParseVariableDouble(const char *value, const char *name, double *result, double
                         (dblval == 0.0 || dblval >= HUGE_VAL || dblval <= -HUGE_VAL))
        {
                if (name)
-                       pg_log_error("\"%s\" is out of range for \"%s\"", value, name);
+                       pg_log_error("value \"%s\" is out of range for variable \"%s\"", value, name);
                return false;
        }
        else
        {
                if (name)
-                       pg_log_error("invalid value \"%s\" for \"%s\"", value, name);
+                       pg_log_error("invalid value \"%s\" for variable \"%s\"", value, name);
                return false;
        }
 }