Message style fixes
This commit is contained in:
parent
3c43595217
commit
821fb8cdbf
|
@ -6453,7 +6453,7 @@ SCRAM-SHA-256$<replaceable><iteration count></>:<replaceable><salt><
|
|||
<entry><type>char[]</type></entry>
|
||||
<entry></entry>
|
||||
<entry>
|
||||
An array containing codes for the enabled statistic types;
|
||||
An array containing codes for the enabled statistic kinds;
|
||||
valid values are:
|
||||
<literal>d</literal> for n-distinct statistics,
|
||||
<literal>f</literal> for functional dependency statistics
|
||||
|
|
|
@ -1107,7 +1107,7 @@ WHERE tablename = 'road';
|
|||
</para>
|
||||
|
||||
<para>
|
||||
The following subsections describe the types of extended statistics
|
||||
The following subsections describe the kinds of extended statistics
|
||||
that are currently supported.
|
||||
</para>
|
||||
|
||||
|
@ -1115,7 +1115,7 @@ WHERE tablename = 'road';
|
|||
<title>Functional Dependencies</title>
|
||||
|
||||
<para>
|
||||
The simplest type of extended statistics tracks <firstterm>functional
|
||||
The simplest kind of extended statistics tracks <firstterm>functional
|
||||
dependencies</>, a concept used in definitions of database normal forms.
|
||||
We say that column <structfield>b</> is functionally dependent on
|
||||
column <structfield>a</> if knowledge of the value of
|
||||
|
|
|
@ -22,7 +22,7 @@ PostgreSQL documentation
|
|||
<refsynopsisdiv>
|
||||
<synopsis>
|
||||
CREATE STATISTICS [ IF NOT EXISTS ] <replaceable class="PARAMETER">statistics_name</replaceable>
|
||||
[ ( <replaceable class="PARAMETER">statistic_type</replaceable> [, ... ] ) ]
|
||||
[ ( <replaceable class="PARAMETER">statistics_kind</replaceable> [, ... ] ) ]
|
||||
ON <replaceable class="PARAMETER">column_name</replaceable>, <replaceable class="PARAMETER">column_name</replaceable> [, ...]
|
||||
FROM <replaceable class="PARAMETER">table_name</replaceable>
|
||||
</synopsis>
|
||||
|
@ -76,15 +76,15 @@ CREATE STATISTICS [ IF NOT EXISTS ] <replaceable class="PARAMETER">statistics_na
|
|||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><replaceable class="PARAMETER">statistic_type</replaceable></term>
|
||||
<term><replaceable class="PARAMETER">statistics_kind</replaceable></term>
|
||||
<listitem>
|
||||
<para>
|
||||
A statistic type to be computed in this statistics object.
|
||||
Currently supported types are
|
||||
A statistics kind to be computed in this statistics object.
|
||||
Currently supported kinds are
|
||||
<literal>ndistinct</literal>, which enables n-distinct statistics, and
|
||||
<literal>dependencies</literal>, which enables functional
|
||||
dependency statistics.
|
||||
If this clause is omitted, all supported statistic types are
|
||||
If this clause is omitted, all supported statistics kinds are
|
||||
included in the statistics object.
|
||||
For more information, see <xref linkend="planner-stats-extended">
|
||||
and <xref linkend="multivariate-statistics-examples">.
|
||||
|
|
|
@ -3629,7 +3629,7 @@ bar
|
|||
will terminate the application. If set to a larger numeric value,
|
||||
that many consecutive <acronym>EOF</> characters must be typed to
|
||||
make an interactive session terminate. If the variable is set to a
|
||||
non-numeric value, it is interpreted as 10.
|
||||
non-numeric value, it is interpreted as 10. The default is 0.
|
||||
</para>
|
||||
<note>
|
||||
<para>
|
||||
|
|
|
@ -2031,14 +2031,14 @@ ProcessTwoPhaseBuffer(TransactionId xid,
|
|||
if (fromdisk)
|
||||
{
|
||||
ereport(WARNING,
|
||||
(errmsg("removing stale two-phase state file for \"%u\"",
|
||||
(errmsg("removing stale two-phase state file for transaction %u",
|
||||
xid)));
|
||||
RemoveTwoPhaseFile(xid, true);
|
||||
}
|
||||
else
|
||||
{
|
||||
ereport(WARNING,
|
||||
(errmsg("removing stale two-phase state from shared memory for \"%u\"",
|
||||
(errmsg("removing stale two-phase state from memory for transaction %u",
|
||||
xid)));
|
||||
PrepareRedoRemove(xid, true);
|
||||
}
|
||||
|
@ -2051,14 +2051,14 @@ ProcessTwoPhaseBuffer(TransactionId xid,
|
|||
if (fromdisk)
|
||||
{
|
||||
ereport(WARNING,
|
||||
(errmsg("removing future two-phase state file for \"%u\"",
|
||||
(errmsg("removing future two-phase state file for transaction %u",
|
||||
xid)));
|
||||
RemoveTwoPhaseFile(xid, true);
|
||||
}
|
||||
else
|
||||
{
|
||||
ereport(WARNING,
|
||||
(errmsg("removing future two-phase state from memory for \"%u\"",
|
||||
(errmsg("removing future two-phase state from memory for transaction %u",
|
||||
xid)));
|
||||
PrepareRedoRemove(xid, true);
|
||||
}
|
||||
|
@ -2072,7 +2072,7 @@ ProcessTwoPhaseBuffer(TransactionId xid,
|
|||
if (buf == NULL)
|
||||
{
|
||||
ereport(WARNING,
|
||||
(errmsg("removing corrupt two-phase state file for \"%u\"",
|
||||
(errmsg("removing corrupt two-phase state file for transaction %u",
|
||||
xid)));
|
||||
RemoveTwoPhaseFile(xid, true);
|
||||
return NULL;
|
||||
|
@ -2091,14 +2091,14 @@ ProcessTwoPhaseBuffer(TransactionId xid,
|
|||
if (fromdisk)
|
||||
{
|
||||
ereport(WARNING,
|
||||
(errmsg("removing corrupt two-phase state file for \"%u\"",
|
||||
(errmsg("removing corrupt two-phase state file for transaction %u",
|
||||
xid)));
|
||||
RemoveTwoPhaseFile(xid, true);
|
||||
}
|
||||
else
|
||||
{
|
||||
ereport(WARNING,
|
||||
(errmsg("removing corrupt two-phase state from memory for \"%u\"",
|
||||
(errmsg("removing corrupt two-phase state from memory for transaction %u",
|
||||
xid)));
|
||||
PrepareRedoRemove(xid, true);
|
||||
}
|
||||
|
|
|
@ -8658,7 +8658,7 @@ CreateCheckPoint(int flags)
|
|||
LWLockRelease(CheckpointLock);
|
||||
END_CRIT_SECTION();
|
||||
ereport(DEBUG1,
|
||||
(errmsg("checkpoint skipped due to an idle system")));
|
||||
(errmsg("checkpoint skipped because system is idle")));
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -103,7 +103,7 @@ parse_publication_options(List *options,
|
|||
if (!SplitIdentifierString(publish, ',', &publish_list))
|
||||
ereport(ERROR,
|
||||
(errcode(ERRCODE_SYNTAX_ERROR),
|
||||
errmsg("invalid publish list")));
|
||||
errmsg("invalid list syntax for \"publish\" option")));
|
||||
|
||||
/* Process the option list. */
|
||||
foreach(lc, publish_list)
|
||||
|
|
|
@ -180,7 +180,7 @@ CreateStatistics(CreateStatsStmt *stmt)
|
|||
if (!HeapTupleIsValid(atttuple))
|
||||
ereport(ERROR,
|
||||
(errcode(ERRCODE_UNDEFINED_COLUMN),
|
||||
errmsg("column \"%s\" referenced in statistics does not exist",
|
||||
errmsg("column \"%s\" does not exist",
|
||||
attname)));
|
||||
attForm = (Form_pg_attribute) GETSTRUCT(atttuple);
|
||||
|
||||
|
@ -195,8 +195,8 @@ CreateStatistics(CreateStatsStmt *stmt)
|
|||
if (type->lt_opr == InvalidOid)
|
||||
ereport(ERROR,
|
||||
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
|
||||
errmsg("column \"%s\" cannot be used in statistics because its type has no default btree operator class",
|
||||
attname)));
|
||||
errmsg("column \"%s\" cannot be used in statistics because its type %s has no default btree operator class",
|
||||
attname, format_type_be(attForm->atttypid))));
|
||||
|
||||
/* Make sure no more than STATS_MAX_DIMENSIONS columns are used */
|
||||
if (numcols >= STATS_MAX_DIMENSIONS)
|
||||
|
@ -242,7 +242,7 @@ CreateStatistics(CreateStatsStmt *stmt)
|
|||
stxkeys = buildint2vector(attnums, numcols);
|
||||
|
||||
/*
|
||||
* Parse the statistics types.
|
||||
* Parse the statistics kinds.
|
||||
*/
|
||||
build_ndistinct = false;
|
||||
build_dependencies = false;
|
||||
|
@ -263,7 +263,7 @@ CreateStatistics(CreateStatsStmt *stmt)
|
|||
else
|
||||
ereport(ERROR,
|
||||
(errcode(ERRCODE_SYNTAX_ERROR),
|
||||
errmsg("unrecognized statistic type \"%s\"",
|
||||
errmsg("unrecognized statistics kind \"%s\"",
|
||||
type)));
|
||||
}
|
||||
/* If no statistic type was specified, build them all. */
|
||||
|
|
|
@ -13859,7 +13859,7 @@ ATExecAttachPartition(List **wqueue, Relation rel, PartitionCmd *cmd)
|
|||
errmsg("table \"%s\" contains column \"%s\" not found in parent \"%s\"",
|
||||
RelationGetRelationName(attachrel), attributeName,
|
||||
RelationGetRelationName(rel)),
|
||||
errdetail("New partition should contain only the columns present in parent.")));
|
||||
errdetail("The new partition may contain only the columns present in parent.")));
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
|
@ -416,7 +416,7 @@ CreateTrigger(CreateTrigStmt *stmt, const char *queryString,
|
|||
(TRIGGER_FOR_DELETE(tgtype) ? 1 : 0)) != 1)
|
||||
ereport(ERROR,
|
||||
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
|
||||
errmsg("Transition tables cannot be specified for triggers with more than one event")));
|
||||
errmsg("transition tables cannot be specified for triggers with more than one event")));
|
||||
|
||||
if (tt->isNew)
|
||||
{
|
||||
|
|
|
@ -559,13 +559,13 @@ CheckCmdReplicaIdentity(Relation rel, CmdType cmd)
|
|||
if (cmd == CMD_UPDATE && pubactions->pubupdate)
|
||||
ereport(ERROR,
|
||||
(errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
|
||||
errmsg("cannot update table \"%s\" because it does not have replica identity and publishes updates",
|
||||
errmsg("cannot update table \"%s\" because it does not have a replica identity and publishes updates",
|
||||
RelationGetRelationName(rel)),
|
||||
errhint("To enable updating the table, set REPLICA IDENTITY using ALTER TABLE.")));
|
||||
else if (cmd == CMD_DELETE && pubactions->pubdelete)
|
||||
ereport(ERROR,
|
||||
(errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
|
||||
errmsg("cannot delete from table \"%s\" because it does not have replica identity and publishes deletes",
|
||||
errmsg("cannot delete from table \"%s\" because it does not have a replica identity and publishes deletes",
|
||||
RelationGetRelationName(rel)),
|
||||
errhint("To enable deleting from the table, set REPLICA IDENTITY using ALTER TABLE.")));
|
||||
}
|
||||
|
|
|
@ -1608,7 +1608,7 @@ verify_option_list_length(List *options, char *optionname, List *masters, char *
|
|||
|
||||
ereport(LOG,
|
||||
(errcode(ERRCODE_CONFIG_FILE_ERROR),
|
||||
errmsg("the number of %s (%i) must be 1 or the same as the number of %s (%i)",
|
||||
errmsg("the number of %s (%d) must be 1 or the same as the number of %s (%d)",
|
||||
optionname,
|
||||
list_length(options),
|
||||
mastername,
|
||||
|
|
|
@ -454,9 +454,8 @@ logicalrep_typmap_getid(Oid remoteid)
|
|||
{
|
||||
if (!get_typisdefined(remoteid))
|
||||
ereport(ERROR,
|
||||
(errmsg("builtin type %u not found", remoteid),
|
||||
errhint("This can be caused by having publisher with "
|
||||
"higher major version than subscriber")));
|
||||
(errmsg("built-in type %u not found", remoteid),
|
||||
errhint("This can be caused by having a publisher with a higher PostgreSQL major version than the subscriber.")));
|
||||
return remoteid;
|
||||
}
|
||||
|
||||
|
|
|
@ -629,7 +629,7 @@ check_relation_updatable(LogicalRepRelMapEntry *rel)
|
|||
{
|
||||
ereport(ERROR,
|
||||
(errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
|
||||
errmsg("publisher does not send replica identity column "
|
||||
errmsg("publisher did not send replica identity column "
|
||||
"expected by the logical replication target relation \"%s.%s\"",
|
||||
rel->remoterel.nspname, rel->remoterel.relname)));
|
||||
}
|
||||
|
@ -844,7 +844,7 @@ apply_handle_delete(StringInfo s)
|
|||
/* The tuple to be deleted could not be found. */
|
||||
ereport(DEBUG1,
|
||||
(errmsg("logical replication could not find row for delete "
|
||||
"in replication target %s",
|
||||
"in replication target relation \"%s\"",
|
||||
RelationGetRelationName(rel->localrel))));
|
||||
}
|
||||
|
||||
|
@ -910,7 +910,7 @@ apply_dispatch(StringInfo s)
|
|||
default:
|
||||
ereport(ERROR,
|
||||
(errcode(ERRCODE_PROTOCOL_VIOLATION),
|
||||
errmsg("invalid logical replication message type %c", action)));
|
||||
errmsg("invalid logical replication message type \"%c\"", action)));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -115,7 +115,7 @@ parse_output_parameters(List *options, uint32 *protocol_version,
|
|||
if (parsed > PG_UINT32_MAX || parsed < 0)
|
||||
ereport(ERROR,
|
||||
(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
|
||||
errmsg("proto_verson \"%s\" out of range",
|
||||
errmsg("proto_version \"%s\" out of range",
|
||||
strVal(defel->arg))));
|
||||
|
||||
*protocol_version = (uint32) parsed;
|
||||
|
|
|
@ -425,13 +425,13 @@ DefineQueryRewrite(char *rulename,
|
|||
if (event_relation->rd_rel->relkind == RELKIND_PARTITIONED_TABLE)
|
||||
ereport(ERROR,
|
||||
(errcode(ERRCODE_WRONG_OBJECT_TYPE),
|
||||
errmsg("could not convert partitioned table \"%s\" to a view",
|
||||
errmsg("cannot convert partitioned table \"%s\" to a view",
|
||||
RelationGetRelationName(event_relation))));
|
||||
|
||||
if (event_relation->rd_rel->relispartition)
|
||||
ereport(ERROR,
|
||||
(errcode(ERRCODE_WRONG_OBJECT_TYPE),
|
||||
errmsg("could not convert partition \"%s\" to a view",
|
||||
errmsg("cannot convert partition \"%s\" to a view",
|
||||
RelationGetRelationName(event_relation))));
|
||||
|
||||
snapshot = RegisterSnapshot(GetLatestSnapshot());
|
||||
|
|
|
@ -1769,7 +1769,7 @@ GetSerializableTransactionSnapshotInt(Snapshot snapshot,
|
|||
ereport(ERROR,
|
||||
(errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
|
||||
errmsg("could not import the requested snapshot"),
|
||||
errdetail("The source process with pid %d is not running anymore.",
|
||||
errdetail("The source process with PID %d is not running anymore.",
|
||||
sourcepid)));
|
||||
}
|
||||
|
||||
|
|
|
@ -95,8 +95,8 @@ scanint8(const char *str, bool errorOK, int64 *result)
|
|||
else
|
||||
ereport(ERROR,
|
||||
(errcode(ERRCODE_INVALID_TEXT_REPRESENTATION),
|
||||
errmsg("invalid input syntax for %s: \"%s\"",
|
||||
"integer", str)));
|
||||
errmsg("invalid input syntax for integer: \"%s\"",
|
||||
str)));
|
||||
}
|
||||
|
||||
/* process digits */
|
||||
|
@ -130,8 +130,8 @@ gotdigits:
|
|||
else
|
||||
ereport(ERROR,
|
||||
(errcode(ERRCODE_INVALID_TEXT_REPRESENTATION),
|
||||
errmsg("invalid input syntax for %s: \"%s\"",
|
||||
"integer", str)));
|
||||
errmsg("invalid input syntax for integer: \"%s\"",
|
||||
str)));
|
||||
}
|
||||
|
||||
*result = (sign < 0) ? -tmp : tmp;
|
||||
|
|
|
@ -2314,7 +2314,7 @@ populate_array_report_expected_array(PopulateArrayContext *ctx, int ndim)
|
|||
ereport(ERROR,
|
||||
(errcode(ERRCODE_INVALID_TEXT_REPRESENTATION),
|
||||
errmsg("expected json array"),
|
||||
errhint("see the value of key \"%s\"", ctx->colname)));
|
||||
errhint("See the value of key \"%s\".", ctx->colname)));
|
||||
else
|
||||
ereport(ERROR,
|
||||
(errcode(ERRCODE_INVALID_TEXT_REPRESENTATION),
|
||||
|
@ -2336,13 +2336,13 @@ populate_array_report_expected_array(PopulateArrayContext *ctx, int ndim)
|
|||
ereport(ERROR,
|
||||
(errcode(ERRCODE_INVALID_TEXT_REPRESENTATION),
|
||||
errmsg("expected json array"),
|
||||
errhint("see the array element %s of key \"%s\"",
|
||||
errhint("See the array element %s of key \"%s\".",
|
||||
indices.data, ctx->colname)));
|
||||
else
|
||||
ereport(ERROR,
|
||||
(errcode(ERRCODE_INVALID_TEXT_REPRESENTATION),
|
||||
errmsg("expected json array"),
|
||||
errhint("see the array element %s",
|
||||
errhint("See the array element %s.",
|
||||
indices.data)));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -562,8 +562,8 @@ macaddr8tomacaddr(PG_FUNCTION_ARGS)
|
|||
(errcode(ERRCODE_NUMERIC_VALUE_OUT_OF_RANGE),
|
||||
errmsg("macaddr8 data out of range to convert to macaddr"),
|
||||
errhint("Only addresses that have FF and FE as values in the "
|
||||
"4th and 5th bytes, from the left, for example: "
|
||||
"XX-XX-XX-FF-FE-XX-XX-XX, are eligible to be converted "
|
||||
"4th and 5th bytes from the left, for example "
|
||||
"xx:xx:xx:ff:fe:xx:xx:xx, are eligible to be converted "
|
||||
"from macaddr8 to macaddr.")));
|
||||
|
||||
result->a = addr->a;
|
||||
|
|
|
@ -48,8 +48,8 @@ pg_atoi(const char *s, int size, int c)
|
|||
if (*s == 0)
|
||||
ereport(ERROR,
|
||||
(errcode(ERRCODE_INVALID_TEXT_REPRESENTATION),
|
||||
errmsg("invalid input syntax for %s: \"%s\"",
|
||||
"integer", s)));
|
||||
errmsg("invalid input syntax for integer: \"%s\"",
|
||||
s)));
|
||||
|
||||
errno = 0;
|
||||
l = strtol(s, &badp, 10);
|
||||
|
@ -58,8 +58,8 @@ pg_atoi(const char *s, int size, int c)
|
|||
if (s == badp)
|
||||
ereport(ERROR,
|
||||
(errcode(ERRCODE_INVALID_TEXT_REPRESENTATION),
|
||||
errmsg("invalid input syntax for %s: \"%s\"",
|
||||
"integer", s)));
|
||||
errmsg("invalid input syntax for integer: \"%s\"",
|
||||
s)));
|
||||
|
||||
switch (size)
|
||||
{
|
||||
|
@ -102,8 +102,8 @@ pg_atoi(const char *s, int size, int c)
|
|||
if (*badp && *badp != c)
|
||||
ereport(ERROR,
|
||||
(errcode(ERRCODE_INVALID_TEXT_REPRESENTATION),
|
||||
errmsg("invalid input syntax for %s: \"%s\"",
|
||||
"integer", s)));
|
||||
errmsg("invalid input syntax for integer: \"%s\"",
|
||||
s)));
|
||||
|
||||
return (int32) l;
|
||||
}
|
||||
|
|
|
@ -132,8 +132,8 @@ TransactionIdInRecentPast(uint64 xid_with_epoch, TransactionId *extracted_xid)
|
|||
|| (xid_epoch == now_epoch && xid > now_epoch_last_xid))
|
||||
ereport(ERROR,
|
||||
(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
|
||||
errmsg("transaction ID " UINT64_FORMAT " is in the future",
|
||||
xid_with_epoch)));
|
||||
errmsg("transaction ID %s is in the future",
|
||||
psprintf(UINT64_FORMAT, xid_with_epoch))));
|
||||
|
||||
/*
|
||||
* ShmemVariableCache->oldestClogXid is protected by CLogTruncationLock,
|
||||
|
@ -755,11 +755,11 @@ txid_status(PG_FUNCTION_ARGS)
|
|||
Assert(TransactionIdIsValid(xid));
|
||||
|
||||
if (TransactionIdIsCurrentTransactionId(xid))
|
||||
status = gettext_noop("in progress");
|
||||
status = "in progress";
|
||||
else if (TransactionIdDidCommit(xid))
|
||||
status = gettext_noop("committed");
|
||||
status = "committed";
|
||||
else if (TransactionIdDidAbort(xid))
|
||||
status = gettext_noop("aborted");
|
||||
status = "aborted";
|
||||
else
|
||||
{
|
||||
/*
|
||||
|
@ -774,9 +774,9 @@ txid_status(PG_FUNCTION_ARGS)
|
|||
* checked commit/abort status).
|
||||
*/
|
||||
if (TransactionIdPrecedes(xid, GetActiveSnapshot()->xmin))
|
||||
status = gettext_noop("aborted");
|
||||
status = "aborted";
|
||||
else
|
||||
status = gettext_noop("in progress");
|
||||
status = "in progress";
|
||||
}
|
||||
}
|
||||
else
|
||||
|
|
|
@ -2201,7 +2201,7 @@ static struct config_int ConfigureNamesInt[] =
|
|||
{"max_pred_locks_per_relation", PGC_SIGHUP, LOCK_MANAGEMENT,
|
||||
gettext_noop("Sets the maximum number of predicate-locked pages and tuples per relation."),
|
||||
gettext_noop("If more than this total of pages and tuples in the same relation are locked "
|
||||
"by a connection, those locks are replaced by a relation level lock.")
|
||||
"by a connection, those locks are replaced by a relation-level lock.")
|
||||
},
|
||||
&max_predicate_locks_per_relation,
|
||||
-2, INT_MIN, INT_MAX,
|
||||
|
@ -2212,7 +2212,7 @@ static struct config_int ConfigureNamesInt[] =
|
|||
{"max_pred_locks_per_page", PGC_SIGHUP, LOCK_MANAGEMENT,
|
||||
gettext_noop("Sets the maximum number of predicate-locked tuples per page."),
|
||||
gettext_noop("If more than this number of tuples on the same page are locked "
|
||||
"by a connection, those locks are replaced by a page level lock.")
|
||||
"by a connection, those locks are replaced by a page-level lock.")
|
||||
},
|
||||
&max_predicate_locks_per_page,
|
||||
2, 0, INT_MAX,
|
||||
|
@ -3608,7 +3608,7 @@ static struct config_string ConfigureNamesString[] =
|
|||
|
||||
{
|
||||
{"ssl_dh_params_file", PGC_SIGHUP, CONN_AUTH_SECURITY,
|
||||
gettext_noop("Location of the SSL DH params file."),
|
||||
gettext_noop("Location of the SSL DH parameters file."),
|
||||
NULL,
|
||||
GUC_SUPERUSER_ONLY
|
||||
},
|
||||
|
|
|
@ -625,7 +625,7 @@ SetTransactionSnapshot(Snapshot sourcesnap, VirtualTransactionId *sourcevxid,
|
|||
ereport(ERROR,
|
||||
(errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
|
||||
errmsg("could not import the requested snapshot"),
|
||||
errdetail("The source process with pid %d is not running anymore.",
|
||||
errdetail("The source process with PID %d is not running anymore.",
|
||||
sourcepid)));
|
||||
|
||||
/*
|
||||
|
|
|
@ -136,7 +136,7 @@ ParseVariableBool(const char *value, const char *name, bool *result)
|
|||
{
|
||||
/* string is not recognized; don't clobber *result */
|
||||
if (name)
|
||||
psql_error("unrecognized value \"%s\" for \"%s\": boolean expected\n",
|
||||
psql_error("unrecognized value \"%s\" for \"%s\": Boolean expected\n",
|
||||
value, name);
|
||||
valid = false;
|
||||
}
|
||||
|
|
|
@ -45,7 +45,7 @@ CATALOG(pg_statistic_ext,3381)
|
|||
int2vector stxkeys; /* array of column keys */
|
||||
|
||||
#ifdef CATALOG_VARLEN
|
||||
char stxkind[1] BKI_FORCE_NOT_NULL; /* statistic types requested
|
||||
char stxkind[1] BKI_FORCE_NOT_NULL; /* statistics kinds requested
|
||||
* to build */
|
||||
pg_ndistinct stxndistinct; /* ndistinct coefficients (serialized) */
|
||||
pg_dependencies stxdependencies; /* dependencies (serialized) */
|
||||
|
|
|
@ -3242,7 +3242,7 @@ DROP TABLE fail_part;
|
|||
CREATE TABLE fail_part (like list_parted, c int);
|
||||
ALTER TABLE list_parted ATTACH PARTITION fail_part FOR VALUES IN (1);
|
||||
ERROR: table "fail_part" contains column "c" not found in parent "list_parted"
|
||||
DETAIL: New partition should contain only the columns present in parent.
|
||||
DETAIL: The new partition may contain only the columns present in parent.
|
||||
DROP TABLE fail_part;
|
||||
-- check that the table being attached has every column of the parent
|
||||
CREATE TABLE fail_part (a int NOT NULL);
|
||||
|
|
|
@ -1872,7 +1872,7 @@ FDW options: (delimiter ',', quote '"', "be quoted" 'value')
|
|||
|
||||
ALTER TABLE pt2 ATTACH PARTITION pt2_1 FOR VALUES IN (1); -- ERROR
|
||||
ERROR: table "pt2_1" contains column "c4" not found in parent "pt2"
|
||||
DETAIL: New partition should contain only the columns present in parent.
|
||||
DETAIL: The new partition may contain only the columns present in parent.
|
||||
DROP FOREIGN TABLE pt2_1;
|
||||
\d+ pt2
|
||||
Table "public.pt2"
|
||||
|
|
|
@ -1400,7 +1400,7 @@ SELECT ia FROM json_populate_record(NULL::jsrec, '{"ia": null}') q;
|
|||
|
||||
SELECT ia FROM json_populate_record(NULL::jsrec, '{"ia": 123}') q;
|
||||
ERROR: expected json array
|
||||
HINT: see the value of key "ia"
|
||||
HINT: See the value of key "ia".
|
||||
SELECT ia FROM json_populate_record(NULL::jsrec, '{"ia": [1, "2", null, 4]}') q;
|
||||
ia
|
||||
--------------
|
||||
|
@ -1415,7 +1415,7 @@ SELECT ia FROM json_populate_record(NULL::jsrec, '{"ia": [[1, 2], [3, 4]]}') q;
|
|||
|
||||
SELECT ia FROM json_populate_record(NULL::jsrec, '{"ia": [[1], 2]}') q;
|
||||
ERROR: expected json array
|
||||
HINT: see the array element [1] of key "ia"
|
||||
HINT: See the array element [1] of key "ia".
|
||||
SELECT ia FROM json_populate_record(NULL::jsrec, '{"ia": [[1], [2, 3]]}') q;
|
||||
ERROR: malformed json array
|
||||
DETAIL: Multidimensional arrays must have sub-arrays with matching dimensions.
|
||||
|
@ -1433,7 +1433,7 @@ SELECT ia1 FROM json_populate_record(NULL::jsrec, '{"ia1": null}') q;
|
|||
|
||||
SELECT ia1 FROM json_populate_record(NULL::jsrec, '{"ia1": 123}') q;
|
||||
ERROR: expected json array
|
||||
HINT: see the value of key "ia1"
|
||||
HINT: See the value of key "ia1".
|
||||
SELECT ia1 FROM json_populate_record(NULL::jsrec, '{"ia1": [1, "2", null, 4]}') q;
|
||||
ia1
|
||||
--------------
|
||||
|
@ -1454,7 +1454,7 @@ SELECT ia1d FROM json_populate_record(NULL::jsrec, '{"ia1d": null}') q;
|
|||
|
||||
SELECT ia1d FROM json_populate_record(NULL::jsrec, '{"ia1d": 123}') q;
|
||||
ERROR: expected json array
|
||||
HINT: see the value of key "ia1d"
|
||||
HINT: See the value of key "ia1d".
|
||||
SELECT ia1d FROM json_populate_record(NULL::jsrec, '{"ia1d": [1, "2", null, 4]}') q;
|
||||
ERROR: value for domain js_int_array_1d violates check constraint "js_int_array_1d_check"
|
||||
SELECT ia1d FROM json_populate_record(NULL::jsrec, '{"ia1d": [1, "2", null]}') q;
|
||||
|
@ -1486,7 +1486,7 @@ ERROR: malformed json array
|
|||
DETAIL: Multidimensional arrays must have sub-arrays with matching dimensions.
|
||||
SELECT ia2 FROM json_populate_record(NULL::jsrec, '{"ia2": [[1, 2], 3, 4]}') q;
|
||||
ERROR: expected json array
|
||||
HINT: see the array element [1] of key "ia2"
|
||||
HINT: See the array element [1] of key "ia2".
|
||||
SELECT ia2d FROM json_populate_record(NULL::jsrec, '{"ia2d": [[1, "2"], [null, 4]]}') q;
|
||||
ERROR: value for domain js_int_array_2d violates check constraint "js_int_array_2d_check"
|
||||
SELECT ia2d FROM json_populate_record(NULL::jsrec, '{"ia2d": [[1, "2", 3], [null, 5, 6]]}') q;
|
||||
|
@ -1536,7 +1536,7 @@ SELECT ta FROM json_populate_record(NULL::jsrec, '{"ta": null}') q;
|
|||
|
||||
SELECT ta FROM json_populate_record(NULL::jsrec, '{"ta": 123}') q;
|
||||
ERROR: expected json array
|
||||
HINT: see the value of key "ta"
|
||||
HINT: See the value of key "ta".
|
||||
SELECT ta FROM json_populate_record(NULL::jsrec, '{"ta": [1, "2", null, 4]}') q;
|
||||
ta
|
||||
--------------
|
||||
|
@ -1545,7 +1545,7 @@ SELECT ta FROM json_populate_record(NULL::jsrec, '{"ta": [1, "2", null, 4]}') q;
|
|||
|
||||
SELECT ta FROM json_populate_record(NULL::jsrec, '{"ta": [[1, 2, 3], {"k": "v"}]}') q;
|
||||
ERROR: expected json array
|
||||
HINT: see the array element [1] of key "ta"
|
||||
HINT: See the array element [1] of key "ta".
|
||||
SELECT c FROM json_populate_record(NULL::jsrec, '{"c": null}') q;
|
||||
c
|
||||
---
|
||||
|
@ -1574,7 +1574,7 @@ SELECT ca FROM json_populate_record(NULL::jsrec, '{"ca": null}') q;
|
|||
|
||||
SELECT ca FROM json_populate_record(NULL::jsrec, '{"ca": 123}') q;
|
||||
ERROR: expected json array
|
||||
HINT: see the value of key "ca"
|
||||
HINT: See the value of key "ca".
|
||||
SELECT ca FROM json_populate_record(NULL::jsrec, '{"ca": [1, "2", null, 4]}') q;
|
||||
ca
|
||||
-----------------------------------------------
|
||||
|
@ -1585,7 +1585,7 @@ SELECT ca FROM json_populate_record(NULL::jsrec, '{"ca": ["aaaaaaaaaaaaaaaa"]}')
|
|||
ERROR: value too long for type character(10)
|
||||
SELECT ca FROM json_populate_record(NULL::jsrec, '{"ca": [[1, 2, 3], {"k": "v"}]}') q;
|
||||
ERROR: expected json array
|
||||
HINT: see the array element [1] of key "ca"
|
||||
HINT: See the array element [1] of key "ca".
|
||||
SELECT js FROM json_populate_record(NULL::jsrec, '{"js": null}') q;
|
||||
js
|
||||
----
|
||||
|
@ -1678,7 +1678,7 @@ SELECT jsa FROM json_populate_record(NULL::jsrec, '{"jsa": null}') q;
|
|||
|
||||
SELECT jsa FROM json_populate_record(NULL::jsrec, '{"jsa": 123}') q;
|
||||
ERROR: expected json array
|
||||
HINT: see the value of key "jsa"
|
||||
HINT: See the value of key "jsa".
|
||||
SELECT jsa FROM json_populate_record(NULL::jsrec, '{"jsa": [1, "2", null, 4]}') q;
|
||||
jsa
|
||||
--------------------
|
||||
|
@ -1709,7 +1709,7 @@ SELECT rec FROM json_populate_record(NULL::jsrec, '{"rec": "(abc,42,01.02.2003)"
|
|||
|
||||
SELECT reca FROM json_populate_record(NULL::jsrec, '{"reca": 123}') q;
|
||||
ERROR: expected json array
|
||||
HINT: see the value of key "reca"
|
||||
HINT: See the value of key "reca".
|
||||
SELECT reca FROM json_populate_record(NULL::jsrec, '{"reca": [1, 2]}') q;
|
||||
ERROR: cannot call populate_composite on a scalar
|
||||
SELECT reca FROM json_populate_record(NULL::jsrec, '{"reca": [{"a": "abc", "b": 456}, null, {"c": "01.02.2003", "x": 43.2}]}') q;
|
||||
|
@ -2043,7 +2043,7 @@ select * from json_to_record('{"ia": null}') as x(ia _int4);
|
|||
|
||||
select * from json_to_record('{"ia": 123}') as x(ia _int4);
|
||||
ERROR: expected json array
|
||||
HINT: see the value of key "ia"
|
||||
HINT: See the value of key "ia".
|
||||
select * from json_to_record('{"ia": [1, "2", null, 4]}') as x(ia _int4);
|
||||
ia
|
||||
--------------
|
||||
|
@ -2058,7 +2058,7 @@ select * from json_to_record('{"ia": [[1, 2], [3, 4]]}') as x(ia _int4);
|
|||
|
||||
select * from json_to_record('{"ia": [[1], 2]}') as x(ia _int4);
|
||||
ERROR: expected json array
|
||||
HINT: see the array element [1] of key "ia"
|
||||
HINT: See the array element [1] of key "ia".
|
||||
select * from json_to_record('{"ia": [[1], [2, 3]]}') as x(ia _int4);
|
||||
ERROR: malformed json array
|
||||
DETAIL: Multidimensional arrays must have sub-arrays with matching dimensions.
|
||||
|
|
|
@ -1984,7 +1984,7 @@ SELECT ia FROM jsonb_populate_record(NULL::jsbrec, '{"ia": null}') q;
|
|||
|
||||
SELECT ia FROM jsonb_populate_record(NULL::jsbrec, '{"ia": 123}') q;
|
||||
ERROR: expected json array
|
||||
HINT: see the value of key "ia"
|
||||
HINT: See the value of key "ia".
|
||||
SELECT ia FROM jsonb_populate_record(NULL::jsbrec, '{"ia": [1, "2", null, 4]}') q;
|
||||
ia
|
||||
--------------
|
||||
|
@ -1999,7 +1999,7 @@ SELECT ia FROM jsonb_populate_record(NULL::jsbrec, '{"ia": [[1, 2], [3, 4]]}') q
|
|||
|
||||
SELECT ia FROM jsonb_populate_record(NULL::jsbrec, '{"ia": [[1], 2]}') q;
|
||||
ERROR: expected json array
|
||||
HINT: see the array element [1] of key "ia"
|
||||
HINT: See the array element [1] of key "ia".
|
||||
SELECT ia FROM jsonb_populate_record(NULL::jsbrec, '{"ia": [[1], [2, 3]]}') q;
|
||||
ERROR: malformed json array
|
||||
DETAIL: Multidimensional arrays must have sub-arrays with matching dimensions.
|
||||
|
@ -2017,7 +2017,7 @@ SELECT ia1 FROM jsonb_populate_record(NULL::jsbrec, '{"ia1": null}') q;
|
|||
|
||||
SELECT ia1 FROM jsonb_populate_record(NULL::jsbrec, '{"ia1": 123}') q;
|
||||
ERROR: expected json array
|
||||
HINT: see the value of key "ia1"
|
||||
HINT: See the value of key "ia1".
|
||||
SELECT ia1 FROM jsonb_populate_record(NULL::jsbrec, '{"ia1": [1, "2", null, 4]}') q;
|
||||
ia1
|
||||
--------------
|
||||
|
@ -2038,7 +2038,7 @@ SELECT ia1d FROM jsonb_populate_record(NULL::jsbrec, '{"ia1d": null}') q;
|
|||
|
||||
SELECT ia1d FROM jsonb_populate_record(NULL::jsbrec, '{"ia1d": 123}') q;
|
||||
ERROR: expected json array
|
||||
HINT: see the value of key "ia1d"
|
||||
HINT: See the value of key "ia1d".
|
||||
SELECT ia1d FROM jsonb_populate_record(NULL::jsbrec, '{"ia1d": [1, "2", null, 4]}') q;
|
||||
ERROR: value for domain jsb_int_array_1d violates check constraint "jsb_int_array_1d_check"
|
||||
SELECT ia1d FROM jsonb_populate_record(NULL::jsbrec, '{"ia1d": [1, "2", null]}') q;
|
||||
|
@ -2070,7 +2070,7 @@ ERROR: malformed json array
|
|||
DETAIL: Multidimensional arrays must have sub-arrays with matching dimensions.
|
||||
SELECT ia2 FROM jsonb_populate_record(NULL::jsbrec, '{"ia2": [[1, 2], 3, 4]}') q;
|
||||
ERROR: expected json array
|
||||
HINT: see the array element [1] of key "ia2"
|
||||
HINT: See the array element [1] of key "ia2".
|
||||
SELECT ia2d FROM jsonb_populate_record(NULL::jsbrec, '{"ia2d": [[1, "2"], [null, 4]]}') q;
|
||||
ERROR: value for domain jsb_int_array_2d violates check constraint "jsb_int_array_2d_check"
|
||||
SELECT ia2d FROM jsonb_populate_record(NULL::jsbrec, '{"ia2d": [[1, "2", 3], [null, 5, 6]]}') q;
|
||||
|
@ -2120,7 +2120,7 @@ SELECT ta FROM jsonb_populate_record(NULL::jsbrec, '{"ta": null}') q;
|
|||
|
||||
SELECT ta FROM jsonb_populate_record(NULL::jsbrec, '{"ta": 123}') q;
|
||||
ERROR: expected json array
|
||||
HINT: see the value of key "ta"
|
||||
HINT: See the value of key "ta".
|
||||
SELECT ta FROM jsonb_populate_record(NULL::jsbrec, '{"ta": [1, "2", null, 4]}') q;
|
||||
ta
|
||||
--------------
|
||||
|
@ -2129,7 +2129,7 @@ SELECT ta FROM jsonb_populate_record(NULL::jsbrec, '{"ta": [1, "2", null, 4]}')
|
|||
|
||||
SELECT ta FROM jsonb_populate_record(NULL::jsbrec, '{"ta": [[1, 2, 3], {"k": "v"}]}') q;
|
||||
ERROR: expected json array
|
||||
HINT: see the array element [1] of key "ta"
|
||||
HINT: See the array element [1] of key "ta".
|
||||
SELECT c FROM jsonb_populate_record(NULL::jsbrec, '{"c": null}') q;
|
||||
c
|
||||
---
|
||||
|
@ -2158,7 +2158,7 @@ SELECT ca FROM jsonb_populate_record(NULL::jsbrec, '{"ca": null}') q;
|
|||
|
||||
SELECT ca FROM jsonb_populate_record(NULL::jsbrec, '{"ca": 123}') q;
|
||||
ERROR: expected json array
|
||||
HINT: see the value of key "ca"
|
||||
HINT: See the value of key "ca".
|
||||
SELECT ca FROM jsonb_populate_record(NULL::jsbrec, '{"ca": [1, "2", null, 4]}') q;
|
||||
ca
|
||||
-----------------------------------------------
|
||||
|
@ -2169,7 +2169,7 @@ SELECT ca FROM jsonb_populate_record(NULL::jsbrec, '{"ca": ["aaaaaaaaaaaaaaaa"]}
|
|||
ERROR: value too long for type character(10)
|
||||
SELECT ca FROM jsonb_populate_record(NULL::jsbrec, '{"ca": [[1, 2, 3], {"k": "v"}]}') q;
|
||||
ERROR: expected json array
|
||||
HINT: see the array element [1] of key "ca"
|
||||
HINT: See the array element [1] of key "ca".
|
||||
SELECT js FROM jsonb_populate_record(NULL::jsbrec, '{"js": null}') q;
|
||||
js
|
||||
----
|
||||
|
@ -2262,7 +2262,7 @@ SELECT jsa FROM jsonb_populate_record(NULL::jsbrec, '{"jsa": null}') q;
|
|||
|
||||
SELECT jsa FROM jsonb_populate_record(NULL::jsbrec, '{"jsa": 123}') q;
|
||||
ERROR: expected json array
|
||||
HINT: see the value of key "jsa"
|
||||
HINT: See the value of key "jsa".
|
||||
SELECT jsa FROM jsonb_populate_record(NULL::jsbrec, '{"jsa": [1, "2", null, 4]}') q;
|
||||
jsa
|
||||
--------------------
|
||||
|
@ -2293,7 +2293,7 @@ SELECT rec FROM jsonb_populate_record(NULL::jsbrec, '{"rec": "(abc,42,01.02.2003
|
|||
|
||||
SELECT reca FROM jsonb_populate_record(NULL::jsbrec, '{"reca": 123}') q;
|
||||
ERROR: expected json array
|
||||
HINT: see the value of key "reca"
|
||||
HINT: See the value of key "reca".
|
||||
SELECT reca FROM jsonb_populate_record(NULL::jsbrec, '{"reca": [1, 2]}') q;
|
||||
ERROR: cannot call populate_composite on a scalar
|
||||
SELECT reca FROM jsonb_populate_record(NULL::jsbrec, '{"reca": [{"a": "abc", "b": 456}, null, {"c": "01.02.2003", "x": 43.2}]}') q;
|
||||
|
@ -2423,7 +2423,7 @@ select * from jsonb_to_record('{"ia": null}') as x(ia _int4);
|
|||
|
||||
select * from jsonb_to_record('{"ia": 123}') as x(ia _int4);
|
||||
ERROR: expected json array
|
||||
HINT: see the value of key "ia"
|
||||
HINT: See the value of key "ia".
|
||||
select * from jsonb_to_record('{"ia": [1, "2", null, 4]}') as x(ia _int4);
|
||||
ia
|
||||
--------------
|
||||
|
@ -2438,7 +2438,7 @@ select * from jsonb_to_record('{"ia": [[1, 2], [3, 4]]}') as x(ia _int4);
|
|||
|
||||
select * from jsonb_to_record('{"ia": [[1], 2]}') as x(ia _int4);
|
||||
ERROR: expected json array
|
||||
HINT: see the array element [1] of key "ia"
|
||||
HINT: See the array element [1] of key "ia".
|
||||
select * from jsonb_to_record('{"ia": [[1], [2, 3]]}') as x(ia _int4);
|
||||
ERROR: malformed json array
|
||||
DETAIL: Multidimensional arrays must have sub-arrays with matching dimensions.
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
invalid variable name: "invalid/name"
|
||||
-- fail: invalid value for special variable
|
||||
\set AUTOCOMMIT foo
|
||||
unrecognized value "foo" for "AUTOCOMMIT": boolean expected
|
||||
unrecognized value "foo" for "AUTOCOMMIT": Boolean expected
|
||||
\set FETCH_COUNT foo
|
||||
invalid value "foo" for "FETCH_COUNT": integer expected
|
||||
-- check handling of built-in boolean variable
|
||||
|
@ -2939,7 +2939,7 @@ second thing true
|
|||
\endif
|
||||
-- invalid boolean expressions are false
|
||||
\if invalid boolean expression
|
||||
unrecognized value "invalid boolean expression" for "\if expression": boolean expected
|
||||
unrecognized value "invalid boolean expression" for "\if expression": Boolean expected
|
||||
\echo 'will not print #6-1'
|
||||
\else
|
||||
\echo 'will print anyway #6-2'
|
||||
|
|
|
@ -2571,12 +2571,12 @@ drop view fooview;
|
|||
create table fooview (x int, y text) partition by list (x);
|
||||
create rule "_RETURN" as on select to fooview do instead
|
||||
select 1 as x, 'aaa'::text as y;
|
||||
ERROR: could not convert partitioned table "fooview" to a view
|
||||
ERROR: cannot convert partitioned table "fooview" to a view
|
||||
-- nor can one convert a partition to view
|
||||
create table fooview_part partition of fooview for values in (1);
|
||||
create rule "_RETURN" as on select to fooview_part do instead
|
||||
select 1 as x, 'aaa'::text as y;
|
||||
ERROR: could not convert partition "fooview_part" to a view
|
||||
ERROR: cannot convert partition "fooview_part" to a view
|
||||
--
|
||||
-- check for planner problems with complex inherited UPDATES
|
||||
--
|
||||
|
|
|
@ -21,7 +21,7 @@ LINE 1: CREATE STATISTICS tst FROM sometab;
|
|||
CREATE STATISTICS tst ON a, b FROM nonexistant;
|
||||
ERROR: relation "nonexistant" does not exist
|
||||
CREATE STATISTICS tst ON a, b FROM pg_class;
|
||||
ERROR: column "a" referenced in statistics does not exist
|
||||
ERROR: column "a" does not exist
|
||||
CREATE STATISTICS tst ON relname, relname, relnatts FROM pg_class;
|
||||
ERROR: duplicate column name in statistics definition
|
||||
CREATE STATISTICS tst ON relnatts + relpages FROM pg_class;
|
||||
|
@ -29,7 +29,7 @@ ERROR: only simple column references are allowed in CREATE STATISTICS
|
|||
CREATE STATISTICS tst ON (relpages, reltuples) FROM pg_class;
|
||||
ERROR: only simple column references are allowed in CREATE STATISTICS
|
||||
CREATE STATISTICS tst (unrecognized) ON relname, relnatts FROM pg_class;
|
||||
ERROR: unrecognized statistic type "unrecognized"
|
||||
ERROR: unrecognized statistics kind "unrecognized"
|
||||
-- Ensure stats are dropped sanely, and test IF NOT EXISTS while at it
|
||||
CREATE TABLE ab1 (a INTEGER, b INTEGER, c INTEGER);
|
||||
CREATE STATISTICS IF NOT EXISTS ab1_a_b_stats ON a, b FROM ab1;
|
||||
|
|
|
@ -2255,7 +2255,7 @@ NOTICE: trigger = my_table_insert_trig, new table = <NULL>
|
|||
create trigger my_table_multievent_trig
|
||||
after insert or update on my_table referencing new table as new_table
|
||||
for each statement execute procedure dump_insert();
|
||||
ERROR: Transition tables cannot be specified for triggers with more than one event
|
||||
ERROR: transition tables cannot be specified for triggers with more than one event
|
||||
drop table my_table;
|
||||
--
|
||||
-- Test firing of triggers with transition tables by foreign key cascades
|
||||
|
|
Loading…
Reference in New Issue