mirror of
https://github.com/postgres/postgres.git
synced 2025-07-03 20:02:46 +03:00
Message style improvements
This commit is contained in:
@ -1428,7 +1428,7 @@ lazy_scan_heap(LVRelState *vacrel)
|
||||
*/
|
||||
if (vacrel->eager_scan_max_fails_per_region > 0)
|
||||
ereport(vacrel->verbose ? INFO : DEBUG2,
|
||||
(errmsg("disabling eager scanning after freezing %u eagerly scanned blocks of \"%s.%s.%s\"",
|
||||
(errmsg("disabling eager scanning after freezing %u eagerly scanned blocks of relation \"%s.%s.%s\"",
|
||||
orig_eager_scan_success_limit,
|
||||
vacrel->dbname, vacrel->relnamespace,
|
||||
vacrel->relname)));
|
||||
|
@ -3006,7 +3006,7 @@ AddRelationNotNullConstraints(Relation rel, List *constraints,
|
||||
if (constr->is_no_inherit)
|
||||
ereport(ERROR,
|
||||
(errcode(ERRCODE_DATATYPE_MISMATCH),
|
||||
errmsg("cannot define not-null constraint on column \"%s\" with NO INHERIT",
|
||||
errmsg("cannot define not-null constraint with NO INHERIT on column \"%s\"",
|
||||
strVal(linitial(constr->keys))),
|
||||
errdetail("The column has an inherited not-null constraint.")));
|
||||
|
||||
|
@ -835,7 +835,8 @@ refresh_by_match_merge(Oid matviewOid, Oid tempOid, Oid relowner,
|
||||
if (!foundUniqueIndex)
|
||||
ereport(ERROR,
|
||||
errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
|
||||
errmsg("could not find suitable unique index on materialized view"));
|
||||
errmsg("could not find suitable unique index on materialized view \"%s\"",
|
||||
RelationGetRelationName(matviewRel)));
|
||||
|
||||
appendStringInfoString(&querybuf,
|
||||
" AND newdata.* OPERATOR(pg_catalog.*=) mv.*) "
|
||||
|
@ -2130,8 +2130,8 @@ defGetGeneratedColsOption(DefElem *def)
|
||||
|
||||
ereport(ERROR,
|
||||
errcode(ERRCODE_SYNTAX_ERROR),
|
||||
errmsg("%s requires a \"none\" or \"stored\" value",
|
||||
def->defname));
|
||||
errmsg("invalid value for publication parameter \"%s\": \"%s\"", def->defname, sval),
|
||||
errdetail("Valid values are \"%s\" and \"%s\".", "none", "stored"));
|
||||
|
||||
return PUBLISH_GENCOLS_NONE; /* keep compiler quiet */
|
||||
}
|
||||
|
@ -1267,7 +1267,7 @@ AlterSubscription(ParseState *pstate, AlterSubscriptionStmt *stmt,
|
||||
IsSet(opts.specified_opts, SUBOPT_SLOT_NAME))
|
||||
ereport(ERROR,
|
||||
(errcode(ERRCODE_SYNTAX_ERROR),
|
||||
errmsg("slot_name and two_phase cannot be altered at the same time")));
|
||||
errmsg("\"slot_name\" and \"two_phase\" cannot be altered at the same time")));
|
||||
|
||||
/*
|
||||
* Note that workers may still survive even if the
|
||||
@ -1283,7 +1283,7 @@ AlterSubscription(ParseState *pstate, AlterSubscriptionStmt *stmt,
|
||||
if (logicalrep_workers_find(subid, true, true))
|
||||
ereport(ERROR,
|
||||
(errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
|
||||
errmsg("cannot alter two_phase when logical replication worker is still running"),
|
||||
errmsg("cannot alter \"two_phase\" when logical replication worker is still running"),
|
||||
errhint("Try again after some time.")));
|
||||
|
||||
/*
|
||||
@ -1297,7 +1297,7 @@ AlterSubscription(ParseState *pstate, AlterSubscriptionStmt *stmt,
|
||||
LookupGXactBySubid(subid))
|
||||
ereport(ERROR,
|
||||
(errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
|
||||
errmsg("cannot disable two_phase when prepared transactions are present"),
|
||||
errmsg("cannot disable \"two_phase\" when prepared transactions exist"),
|
||||
errhint("Resolve these transactions and try again.")));
|
||||
|
||||
/* Change system catalog accordingly */
|
||||
|
@ -8609,7 +8609,7 @@ ATExecSetExpression(AlteredTableInfo *tab, Relation rel, const char *colName,
|
||||
rel->rd_att->constr && rel->rd_att->constr->num_check > 0)
|
||||
ereport(ERROR,
|
||||
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
|
||||
errmsg("ALTER TABLE / SET EXPRESSION is not supported for virtual generated columns on tables with check constraints"),
|
||||
errmsg("ALTER TABLE / SET EXPRESSION is not supported for virtual generated columns in tables with check constraints"),
|
||||
errdetail("Column \"%s\" of relation \"%s\" is a virtual generated column.",
|
||||
colName, RelationGetRelationName(rel))));
|
||||
|
||||
@ -8627,7 +8627,7 @@ ATExecSetExpression(AlteredTableInfo *tab, Relation rel, const char *colName,
|
||||
GetRelationPublications(RelationGetRelid(rel)) != NIL)
|
||||
ereport(ERROR,
|
||||
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
|
||||
errmsg("ALTER TABLE / SET EXPRESSION is not supported for virtual generated columns on tables that are part of a publication"),
|
||||
errmsg("ALTER TABLE / SET EXPRESSION is not supported for virtual generated columns in tables that are part of a publication"),
|
||||
errdetail("Column \"%s\" of relation \"%s\" is a virtual generated column.",
|
||||
colName, RelationGetRelationName(rel))));
|
||||
|
||||
@ -10189,7 +10189,7 @@ ATAddForeignKeyConstraint(List **wqueue, AlteredTableInfo *tab, Relation rel,
|
||||
if (pk_has_without_overlaps && !with_period)
|
||||
ereport(ERROR,
|
||||
errcode(ERRCODE_INVALID_FOREIGN_KEY),
|
||||
errmsg("foreign key must use PERIOD when referencing a primary using WITHOUT OVERLAPS"));
|
||||
errmsg("foreign key must use PERIOD when referencing a primary key using WITHOUT OVERLAPS"));
|
||||
|
||||
/*
|
||||
* Now we can check permissions.
|
||||
@ -12913,8 +12913,9 @@ ATExecValidateConstraint(List **wqueue, Relation rel, char *constrName,
|
||||
con->contype != CONSTRAINT_NOTNULL)
|
||||
ereport(ERROR,
|
||||
errcode(ERRCODE_WRONG_OBJECT_TYPE),
|
||||
errmsg("constraint \"%s\" of relation \"%s\" is not a foreign key, check, or not-null constraint",
|
||||
constrName, RelationGetRelationName(rel)));
|
||||
errmsg("cannot validate constraint \"%s\" of relation \"%s\"",
|
||||
constrName, RelationGetRelationName(rel)),
|
||||
errdetail("This operation is not supported for this type of constraint."));
|
||||
|
||||
if (!con->conenforced)
|
||||
ereport(ERROR,
|
||||
|
@ -1436,10 +1436,10 @@ initialize_ecdh(SSL_CTX *context, bool isServerStart)
|
||||
*/
|
||||
ereport(isServerStart ? FATAL : LOG,
|
||||
errcode(ERRCODE_CONFIG_FILE_ERROR),
|
||||
errmsg("failed to set group names specified in ssl_groups: %s",
|
||||
errmsg("could not set group names specified in ssl_groups: %s",
|
||||
SSLerrmessageExt(ERR_get_error(),
|
||||
_("No valid groups found"))),
|
||||
errhint("Ensure that each group name is spelled correctly and supported by the installed version of OpenSSL"));
|
||||
errhint("Ensure that each group name is spelled correctly and supported by the installed version of OpenSSL."));
|
||||
return false;
|
||||
}
|
||||
#endif
|
||||
|
@ -341,7 +341,7 @@ logicalrep_worker_launch(LogicalRepWorkerType wtype,
|
||||
if (max_active_replication_origins == 0)
|
||||
ereport(ERROR,
|
||||
(errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED),
|
||||
errmsg("cannot start logical replication workers when \"max_active_replication_origins\"=0")));
|
||||
errmsg("cannot start logical replication workers when \"max_active_replication_origins\" is 0")));
|
||||
|
||||
/*
|
||||
* We need to do the modification of the shared memory under lock so that
|
||||
|
@ -213,7 +213,7 @@ update_local_synced_slot(RemoteSlot *remote_slot, Oid remote_dbid,
|
||||
ereport(slot->data.persistency == RS_TEMPORARY ? LOG : DEBUG1,
|
||||
errmsg("could not synchronize replication slot \"%s\"",
|
||||
remote_slot->name),
|
||||
errdetail("Synchronization could lead to data loss as the remote slot needs WAL at LSN %X/%X and catalog xmin %u, but the standby has LSN %X/%X and catalog xmin %u.",
|
||||
errdetail("Synchronization could lead to data loss, because the remote slot needs WAL at LSN %X/%X and catalog xmin %u, but the standby has LSN %X/%X and catalog xmin %u.",
|
||||
LSN_FORMAT_ARGS(remote_slot->restart_lsn),
|
||||
remote_slot->catalog_xmin,
|
||||
LSN_FORMAT_ARGS(slot->data.restart_lsn),
|
||||
@ -593,7 +593,7 @@ update_and_persist_local_synced_slot(RemoteSlot *remote_slot, Oid remote_dbid)
|
||||
{
|
||||
ereport(LOG,
|
||||
errmsg("could not synchronize replication slot \"%s\"", remote_slot->name),
|
||||
errdetail("Synchronization could lead to data loss as standby could not build a consistent snapshot to decode WALs at LSN %X/%X.",
|
||||
errdetail("Synchronization could lead to data loss, because the standby could not build a consistent snapshot to decode WALs at LSN %X/%X.",
|
||||
LSN_FORMAT_ARGS(slot->data.restart_lsn)));
|
||||
|
||||
return false;
|
||||
|
@ -1789,7 +1789,7 @@ LoadPublications(List *pubnames)
|
||||
else
|
||||
ereport(WARNING,
|
||||
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
|
||||
errmsg("skipped loading publication: %s", pubname),
|
||||
errmsg("skipped loading publication \"%s\"", pubname),
|
||||
errdetail("The publication does not exist at this point in the WAL."),
|
||||
errhint("Create the publication if it does not exist."));
|
||||
}
|
||||
|
@ -881,7 +881,7 @@ ProcessCancelRequestPacket(Port *port, void *pkt, int pktlen)
|
||||
{
|
||||
ereport(COMMERROR,
|
||||
(errcode(ERRCODE_PROTOCOL_VIOLATION),
|
||||
errmsg("invalid length of query cancel packet")));
|
||||
errmsg("invalid length of cancel request packet")));
|
||||
return;
|
||||
}
|
||||
len = pktlen - offsetof(CancelRequestPacket, cancelAuthCode);
|
||||
@ -889,7 +889,7 @@ ProcessCancelRequestPacket(Port *port, void *pkt, int pktlen)
|
||||
{
|
||||
ereport(COMMERROR,
|
||||
(errcode(ERRCODE_PROTOCOL_VIOLATION),
|
||||
errmsg("invalid length of query cancel key")));
|
||||
errmsg("invalid length of cancel key in cancel request packet")));
|
||||
return;
|
||||
}
|
||||
|
||||
@ -1077,7 +1077,7 @@ check_log_connections(char **newval, void **extra, GucSource source)
|
||||
|
||||
if (!SplitIdentifierString(rawstring, ',', &elemlist))
|
||||
{
|
||||
GUC_check_errdetail("Invalid list syntax in parameter \"log_connections\".");
|
||||
GUC_check_errdetail("Invalid list syntax in parameter \"%s\".", "log_connections");
|
||||
pfree(rawstring);
|
||||
list_free(elemlist);
|
||||
return false;
|
||||
|
@ -3590,14 +3590,15 @@ DCH_from_char(FormatNode *node, const char *in, TmFromChar *out,
|
||||
if (matched < 2)
|
||||
ereturn(escontext,,
|
||||
(errcode(ERRCODE_INVALID_DATETIME_FORMAT),
|
||||
errmsg("invalid input string for \"Y,YYY\"")));
|
||||
errmsg("invalid value \"%s\" for \"%s\"",
|
||||
s, "Y,YYY")));
|
||||
|
||||
/* years += (millennia * 1000); */
|
||||
if (pg_mul_s32_overflow(millennia, 1000, &millennia) ||
|
||||
pg_add_s32_overflow(years, millennia, &years))
|
||||
ereturn(escontext,,
|
||||
(errcode(ERRCODE_DATETIME_FIELD_OVERFLOW),
|
||||
errmsg("value for \"Y,YYY\" in source string is out of range")));
|
||||
errmsg("value for \"%s\" in source string is out of range", "Y,YYY")));
|
||||
|
||||
if (!from_char_set_int(&out->year, years, n, escontext))
|
||||
return;
|
||||
|
@ -1028,7 +1028,7 @@ struct config_bool ConfigureNamesBool[] =
|
||||
},
|
||||
{
|
||||
{"enable_distinct_reordering", PGC_USERSET, QUERY_TUNING_METHOD,
|
||||
gettext_noop("Enables reordering of DISTINCT pathkeys."),
|
||||
gettext_noop("Enables reordering of DISTINCT keys."),
|
||||
NULL,
|
||||
GUC_EXPLAIN
|
||||
},
|
||||
@ -4837,7 +4837,7 @@ struct config_string ConfigureNamesString[] =
|
||||
{
|
||||
{"ssl_groups", PGC_SIGHUP, CONN_AUTH_SSL,
|
||||
gettext_noop("Sets the group(s) to use for Diffie-Hellman key exchange."),
|
||||
gettext_noop("Multiple groups can be specified using colon-separated list."),
|
||||
gettext_noop("Multiple groups can be specified using a colon-separated list."),
|
||||
GUC_SUPERUSER_ONLY
|
||||
},
|
||||
&SSLECDHCurve,
|
||||
|
@ -634,10 +634,10 @@ INSERT INTO gtest20 (a) VALUES (30); -- violates constraint
|
||||
ERROR: new row for relation "gtest20" violates check constraint "gtest20_b_check"
|
||||
DETAIL: Failing row contains (30, virtual).
|
||||
ALTER TABLE gtest20 ALTER COLUMN b SET EXPRESSION AS (a * 100); -- violates constraint (currently not supported)
|
||||
ERROR: ALTER TABLE / SET EXPRESSION is not supported for virtual generated columns on tables with check constraints
|
||||
ERROR: ALTER TABLE / SET EXPRESSION is not supported for virtual generated columns in tables with check constraints
|
||||
DETAIL: Column "b" of relation "gtest20" is a virtual generated column.
|
||||
ALTER TABLE gtest20 ALTER COLUMN b SET EXPRESSION AS (a * 3); -- ok (currently not supported)
|
||||
ERROR: ALTER TABLE / SET EXPRESSION is not supported for virtual generated columns on tables with check constraints
|
||||
ERROR: ALTER TABLE / SET EXPRESSION is not supported for virtual generated columns in tables with check constraints
|
||||
DETAIL: Column "b" of relation "gtest20" is a virtual generated column.
|
||||
CREATE TABLE gtest20a (a int PRIMARY KEY, b int GENERATED ALWAYS AS (a * 2) VIRTUAL);
|
||||
INSERT INTO gtest20a (a) VALUES (10);
|
||||
|
@ -2281,7 +2281,7 @@ Inherits: pp1,
|
||||
create table cc3 (a2 int not null no inherit) inherits (cc1);
|
||||
NOTICE: moving and merging column "a2" with inherited definition
|
||||
DETAIL: User-specified column moved to the position of the inherited column.
|
||||
ERROR: cannot define not-null constraint on column "a2" with NO INHERIT
|
||||
ERROR: cannot define not-null constraint with NO INHERIT on column "a2"
|
||||
DETAIL: The column has an inherited not-null constraint.
|
||||
-- change NO INHERIT status of inherited constraint: no dice, it's inherited
|
||||
alter table cc2 add not null a2 no inherit;
|
||||
@ -2530,7 +2530,7 @@ ERROR: conflicting NO INHERIT declaration for not-null constraint on column "a"
|
||||
CREATE TABLE inh_nn1 (a int not null);
|
||||
CREATE TABLE inh_nn2 (a int not null no inherit) INHERITS (inh_nn1);
|
||||
NOTICE: merging column "a" with inherited definition
|
||||
ERROR: cannot define not-null constraint on column "a" with NO INHERIT
|
||||
ERROR: cannot define not-null constraint with NO INHERIT on column "a"
|
||||
DETAIL: The column has an inherited not-null constraint.
|
||||
CREATE TABLE inh_nn3 (a int not null, b int, not null a no inherit);
|
||||
ERROR: conflicting NO INHERIT declaration for not-null constraint on column "a"
|
||||
|
@ -587,7 +587,7 @@ CREATE MATERIALIZED VIEW drop_idx_matview AS
|
||||
NOTICE: index "mvtest_drop_idx" does not exist, skipping
|
||||
CREATE UNIQUE INDEX mvtest_drop_idx ON drop_idx_matview (i);
|
||||
REFRESH MATERIALIZED VIEW CONCURRENTLY drop_idx_matview;
|
||||
ERROR: could not find suitable unique index on materialized view
|
||||
ERROR: could not find suitable unique index on materialized view "drop_idx_matview"
|
||||
DROP MATERIALIZED VIEW drop_idx_matview; -- clean up
|
||||
RESET search_path;
|
||||
-- make sure that create WITH NO DATA works via SPI
|
||||
|
@ -34,7 +34,8 @@ ERROR: conflicting or redundant options
|
||||
LINE 1: ...pub_xxx WITH (publish_generated_columns = stored, publish_ge...
|
||||
^
|
||||
CREATE PUBLICATION testpub_xxx WITH (publish_generated_columns = foo);
|
||||
ERROR: publish_generated_columns requires a "none" or "stored" value
|
||||
ERROR: invalid value for publication parameter "publish_generated_columns": "foo"
|
||||
DETAIL: Valid values are "none" and "stored".
|
||||
\dRp
|
||||
List of publications
|
||||
Name | Owner | All tables | Inserts | Updates | Deletes | Truncates | Generated columns | Via root
|
||||
@ -539,7 +540,7 @@ SET client_min_messages = 'ERROR';
|
||||
CREATE TABLE testpub_rf_tbl7 (id int PRIMARY KEY, x int, y int GENERATED ALWAYS AS (x * 111) VIRTUAL);
|
||||
CREATE PUBLICATION testpub8 FOR TABLE testpub_rf_tbl7 WHERE (y > 100);
|
||||
ALTER TABLE testpub_rf_tbl7 ALTER COLUMN y SET EXPRESSION AS (x * testpub_rf_func2());
|
||||
ERROR: ALTER TABLE / SET EXPRESSION is not supported for virtual generated columns on tables that are part of a publication
|
||||
ERROR: ALTER TABLE / SET EXPRESSION is not supported for virtual generated columns in tables that are part of a publication
|
||||
DETAIL: Column "y" of relation "testpub_rf_tbl7" is a virtual generated column.
|
||||
RESET client_min_messages;
|
||||
DROP TABLE testpub_rf_tbl1;
|
||||
|
@ -1426,7 +1426,7 @@ CREATE TABLE temporal_fk_rng2rng (
|
||||
CONSTRAINT temporal_fk_rng2rng_fk FOREIGN KEY (parent_id, valid_at)
|
||||
REFERENCES temporal_rng (id, valid_at)
|
||||
);
|
||||
ERROR: foreign key must use PERIOD when referencing a primary using WITHOUT OVERLAPS
|
||||
ERROR: foreign key must use PERIOD when referencing a primary key using WITHOUT OVERLAPS
|
||||
-- (parent_id, valid_at) REFERENCES (id, PERIOD valid_at)
|
||||
-- FOREIGN KEY part should specify PERIOD
|
||||
CREATE TABLE temporal_fk_rng2rng (
|
||||
@ -1900,7 +1900,7 @@ CREATE TABLE temporal_fk_mltrng2mltrng (
|
||||
CONSTRAINT temporal_fk_mltrng2mltrng_fk FOREIGN KEY (parent_id, valid_at)
|
||||
REFERENCES temporal_mltrng (id, valid_at)
|
||||
);
|
||||
ERROR: foreign key must use PERIOD when referencing a primary using WITHOUT OVERLAPS
|
||||
ERROR: foreign key must use PERIOD when referencing a primary key using WITHOUT OVERLAPS
|
||||
-- (parent_id, valid_at) REFERENCES (id, PERIOD valid_at)
|
||||
-- FOREIGN KEY part should specify PERIOD
|
||||
CREATE TABLE temporal_fk_mltrng2mltrng (
|
||||
|
@ -112,7 +112,7 @@ $node_publisher->safe_psql('postgres',"INSERT INTO tab_3 values(1)");
|
||||
|
||||
# Verify that a warning is logged.
|
||||
$node_publisher->wait_for_log(
|
||||
qr/WARNING: ( [A-Z0-9]+:)? skipped loading publication: tap_pub_3/, $offset);
|
||||
qr/WARNING: ( [A-Z0-9]+:)? skipped loading publication "tap_pub_3"/, $offset);
|
||||
|
||||
$node_publisher->safe_psql('postgres',
|
||||
"CREATE PUBLICATION tap_pub_3 FOR TABLE tab_3");
|
||||
|
Reference in New Issue
Block a user