diff --git a/doc/src/sgml/func.sgml b/doc/src/sgml/func.sgml index 16240f7e39..e7dcaca3b0 100644 --- a/doc/src/sgml/func.sgml +++ b/doc/src/sgml/func.sgml @@ -1523,7 +1523,7 @@ text Format a string. This function is similar to the C function - sprintf; but only the following conversions + sprintf; but only the following conversion specifications are recognized: %s interpolates the corresponding argument as a string; %I escapes its argument as an SQL identifier; %L escapes its argument as an diff --git a/src/backend/commands/alter.c b/src/backend/commands/alter.c index 2373d52c0f..08ee93b8ea 100644 --- a/src/backend/commands/alter.c +++ b/src/backend/commands/alter.c @@ -421,7 +421,7 @@ AlterObjectNamespace(Relation rel, int oidCacheId, int nameCacheId, if (Anum_owner <= 0) ereport(ERROR, (errcode(ERRCODE_INSUFFICIENT_PRIVILEGE), - (errmsg("must be superuser to SET SCHEMA of %s", + (errmsg("must be superuser to set schema of %s", getObjectDescriptionOids(classId, objid))))); /* Otherwise, must be owner of the existing object */ diff --git a/src/backend/replication/basebackup.c b/src/backend/replication/basebackup.c index 030a283e81..bcde19c71b 100644 --- a/src/backend/replication/basebackup.c +++ b/src/backend/replication/basebackup.c @@ -119,7 +119,7 @@ perform_base_backup(basebackup_options *opt, DIR *tblspcdir) if (readlink(fullpath, linkpath, sizeof(linkpath) - 1) == -1) { ereport(WARNING, - (errmsg("unable to read symbolic link %s: %m", fullpath))); + (errmsg("could not read symbolic link \"%s\": %m", fullpath))); continue; } @@ -363,7 +363,7 @@ SendBaseBackup(BaseBackupCmd *cmd) dir = AllocateDir("pg_tblspc"); if (!dir) ereport(ERROR, - (errmsg("unable to open directory pg_tblspc: %m"))); + (errmsg("could not open directory \"pg_tblspc\": %m"))); perform_base_backup(&opt, dir); diff --git a/src/backend/replication/walsender.c b/src/backend/replication/walsender.c index 470e6d170d..63952e73f1 100644 --- a/src/backend/replication/walsender.c +++ b/src/backend/replication/walsender.c @@ -515,7 +515,7 @@ ProcessRepliesIfAny(void) default: ereport(FATAL, (errcode(ERRCODE_PROTOCOL_VIOLATION), - errmsg("invalid standby message type %d", + errmsg("invalid standby message type \"%c\"", firstchar))); } } @@ -566,7 +566,7 @@ ProcessStandbyMessage(void) default: ereport(COMMERROR, (errcode(ERRCODE_PROTOCOL_VIOLATION), - errmsg("unexpected message type %c", msgtype))); + errmsg("unexpected message type \"%c\"", msgtype))); proc_exit(0); } } diff --git a/src/backend/utils/adt/varlena.c b/src/backend/utils/adt/varlena.c index d1113ed5d3..3677b1c3bb 100644 --- a/src/backend/utils/adt/varlena.c +++ b/src/backend/utils/adt/varlena.c @@ -3887,7 +3887,7 @@ text_format(PG_FUNCTION_ARGS) if (arg > PG_NARGS() - 1) ereport(ERROR, (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("too few arguments for format conversion"))); + errmsg("too few arguments for format"))); /* * At this point, we should see the main conversion specifier. Whether @@ -3908,7 +3908,7 @@ text_format(PG_FUNCTION_ARGS) default: ereport(ERROR, (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("unrecognized conversion specifier: %c", + errmsg("unrecognized conversion specifier \"%c\"", *cp))); } } diff --git a/src/test/regress/expected/text.out b/src/test/regress/expected/text.out index f5cb5e2509..e45714f77e 100644 --- a/src/test/regress/expected/text.out +++ b/src/test/regress/expected/text.out @@ -171,11 +171,11 @@ select format('Hello %%%%'); -- should fail select format('Hello %s %s', 'World'); -ERROR: too few arguments for format conversion +ERROR: too few arguments for format select format('Hello %s'); -ERROR: too few arguments for format conversion +ERROR: too few arguments for format select format('Hello %x', 20); -ERROR: unrecognized conversion specifier: x +ERROR: unrecognized conversion specifier "x" -- check literal and sql identifiers select format('INSERT INTO %I VALUES(%L,%L)', 'mytab', 10, 'Hello'); format @@ -219,15 +219,15 @@ select format('%1$s %12$s', 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12); -- should fail select format('%1$s %4$s', 1, 2, 3); -ERROR: too few arguments for format conversion +ERROR: too few arguments for format select format('%1$s %13$s', 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12); -ERROR: too few arguments for format conversion +ERROR: too few arguments for format select format('%1s', 1); ERROR: unterminated conversion specifier select format('%1$', 1); ERROR: unterminated conversion specifier select format('%1$1', 1); -ERROR: unrecognized conversion specifier: 1 +ERROR: unrecognized conversion specifier "1" --checkk mix of positional and ordered placeholders select format('Hello %s %1$s %s', 'World', 'Hello again'); format