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