diff --git a/src/backend/access/transam/varsup.c b/src/backend/access/transam/varsup.c index fb6a86afcb..cfe8c6cf8d 100644 --- a/src/backend/access/transam/varsup.c +++ b/src/backend/access/transam/varsup.c @@ -153,14 +153,14 @@ GetNewTransactionId(bool isSubXact) if (oldest_datname) ereport(ERROR, (errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED), - errmsg("database is not accepting commands that assign new XIDs to avoid wraparound data loss in database \"%s\"", + errmsg("database is not accepting commands that assign new transaction IDs to avoid wraparound data loss in database \"%s\"", oldest_datname), errhint("Execute a database-wide VACUUM in that database.\n" "You might also need to commit or roll back old prepared transactions, or drop stale replication slots."))); else ereport(ERROR, (errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED), - errmsg("database is not accepting commands that assign new XIDs to avoid wraparound data loss in database with OID %u", + errmsg("database is not accepting commands that assign new transaction IDs to avoid wraparound data loss in database with OID %u", oldest_datoid), errhint("Execute a database-wide VACUUM in that database.\n" "You might also need to commit or roll back old prepared transactions, or drop stale replication slots."))); @@ -175,7 +175,7 @@ GetNewTransactionId(bool isSubXact) (errmsg("database \"%s\" must be vacuumed within %u transactions", oldest_datname, xidWrapLimit - xid), - errhint("To avoid XID assignment failures, execute a database-wide VACUUM in that database.\n" + errhint("To avoid transaction ID assignment failures, execute a database-wide VACUUM in that database.\n" "You might also need to commit or roll back old prepared transactions, or drop stale replication slots."))); else ereport(WARNING, diff --git a/src/backend/access/transam/xact.c b/src/backend/access/transam/xact.c index 9bda1aa6bc..4cecf63006 100644 --- a/src/backend/access/transam/xact.c +++ b/src/backend/access/transam/xact.c @@ -646,7 +646,7 @@ AssignTransactionId(TransactionState s) if (IsInParallelMode() || IsParallelWorker()) ereport(ERROR, (errcode(ERRCODE_INVALID_TRANSACTION_STATE), - errmsg("cannot assign XIDs during a parallel operation"))); + errmsg("cannot assign transaction IDs during a parallel operation"))); /* * Ensure parent(s) have XIDs, so that a child always has an XID later diff --git a/src/backend/backup/basebackup_incremental.c b/src/backend/backup/basebackup_incremental.c index af361f38a6..15082c2987 100644 --- a/src/backend/backup/basebackup_incremental.c +++ b/src/backend/backup/basebackup_incremental.c @@ -953,7 +953,7 @@ manifest_process_system_identifier(JsonManifestParseContext *context, if (manifest_system_identifier != system_identifier) context->error_cb(context, - "manifest system identifier is %llu, but database system identifier is %llu", + "system identifier in backup manifest is %llu, but database system identifier is %llu", (unsigned long long) manifest_system_identifier, (unsigned long long) system_identifier); } diff --git a/src/backend/commands/copyfromparse.c b/src/backend/commands/copyfromparse.c index 7efcb89159..97a4c387a3 100644 --- a/src/backend/commands/copyfromparse.c +++ b/src/backend/commands/copyfromparse.c @@ -987,7 +987,7 @@ NextCopyFrom(CopyFromState cstate, ExprContext *econtext, attval = CopyLimitPrintoutLength(cstate->cur_attval); ereport(NOTICE, - errmsg("skipping row due to data type incompatibility at line %llu for column %s: \"%s\"", + errmsg("skipping row due to data type incompatibility at line %llu for column \"%s\": \"%s\"", (unsigned long long) cstate->cur_lineno, cstate->cur_attname, attval)); @@ -995,7 +995,7 @@ NextCopyFrom(CopyFromState cstate, ExprContext *econtext, } else ereport(NOTICE, - errmsg("skipping row due to data type incompatibility at line %llu for column %s: null input", + errmsg("skipping row due to data type incompatibility at line %llu for column \"%s\": null input", (unsigned long long) cstate->cur_lineno, cstate->cur_attname)); diff --git a/src/backend/commands/subscriptioncmds.c b/src/backend/commands/subscriptioncmds.c index e407428dbc..8ecb6e0bb8 100644 --- a/src/backend/commands/subscriptioncmds.c +++ b/src/backend/commands/subscriptioncmds.c @@ -1230,7 +1230,7 @@ AlterSubscription(ParseState *pstate, AlterSubscriptionStmt *stmt, if (!sub->slotname) ereport(ERROR, (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot set %s for a subscription that does not have a slot name", + errmsg("cannot set option \"%s\" for a subscription that does not have a slot name", "failover"))); /* diff --git a/src/backend/commands/tablecmds.c b/src/backend/commands/tablecmds.c index 26e001f188..0ecdecc256 100644 --- a/src/backend/commands/tablecmds.c +++ b/src/backend/commands/tablecmds.c @@ -10741,7 +10741,7 @@ CloneFkReferencing(List **wqueue, Relation parentRel, Relation partRel) if (fk->confrelid == RelationGetRelid(partRel)) ereport(ERROR, (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("can't attach table \"%s\" as a partition which is referenced by foreign key \"%s\"", + errmsg("cannot attach table \"%s\" as a partition because it is referenced by foreign key \"%s\"", RelationGetRelationName(partRel), get_constraint_name(fk->conoid)))); diff --git a/src/backend/postmaster/walsummarizer.c b/src/backend/postmaster/walsummarizer.c index daa7909382..c1bf4a70dd 100644 --- a/src/backend/postmaster/walsummarizer.c +++ b/src/backend/postmaster/walsummarizer.c @@ -752,9 +752,11 @@ WaitForWalSummarization(XLogRecPtr lsn) current_time) / 1000; ereport(WARNING, (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("still waiting for WAL summarization through %X/%X after %ld seconds", - LSN_FORMAT_ARGS(lsn), - elapsed_seconds), + errmsg_plural("still waiting for WAL summarization through %X/%X after %ld second", + "still waiting for WAL summarization through %X/%X after %ld seconds", + elapsed_seconds, + LSN_FORMAT_ARGS(lsn), + elapsed_seconds), errdetail("Summarization has reached %X/%X on disk and %X/%X in memory.", LSN_FORMAT_ARGS(summarized_lsn), LSN_FORMAT_ARGS(pending_lsn)))); diff --git a/src/backend/replication/logical/logical.c b/src/backend/replication/logical/logical.c index f8ef5d56d2..3fe1774a1e 100644 --- a/src/backend/replication/logical/logical.c +++ b/src/backend/replication/logical/logical.c @@ -539,7 +539,7 @@ CreateDecodingContext(XLogRecPtr start_lsn, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("cannot use replication slot \"%s\" for logical decoding", NameStr(slot->data.name)), - errdetail("This slot is being synchronized from the primary server."), + errdetail("This replication slot is being synchronized from the primary server."), errhint("Specify another replication slot.")); /* diff --git a/src/backend/replication/logical/slotsync.c b/src/backend/replication/logical/slotsync.c index f2bebefcfd..ebfbaebe16 100644 --- a/src/backend/replication/logical/slotsync.c +++ b/src/backend/replication/logical/slotsync.c @@ -212,9 +212,9 @@ update_local_synced_slot(RemoteSlot *remote_slot, Oid remote_dbid, * impact the users, so we used DEBUG1 level to log the message. */ ereport(slot->data.persistency == RS_TEMPORARY ? LOG : DEBUG1, - errmsg("could not sync slot \"%s\" as remote slot precedes local slot", + errmsg("could not synchronize replication slot \"%s\" because remote slot precedes local slot", remote_slot->name), - errdetail("Remote slot has LSN %X/%X and catalog xmin %u, but local slot has LSN %X/%X and catalog xmin %u.", + errdetail("The remote slot has LSN %X/%X and catalog xmin %u, but the local slot 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), @@ -456,7 +456,7 @@ drop_local_obsolete_slots(List *remote_slot_list) 0, AccessShareLock); ereport(LOG, - errmsg("dropped replication slot \"%s\" of dbid %u", + errmsg("dropped replication slot \"%s\" of database with OID %u", NameStr(local_slot->data.name), local_slot->data.database)); } @@ -576,8 +576,8 @@ update_and_persist_local_synced_slot(RemoteSlot *remote_slot, Oid remote_dbid) if (!found_consistent_snapshot) { ereport(LOG, - errmsg("could not sync slot \"%s\"", remote_slot->name), - errdetail("Logical decoding cannot find consistent point from local slot's LSN %X/%X.", + errmsg("could not synchronize replication slot \"%s\"", remote_slot->name), + errdetail("Logical decoding could not find consistent point from local slot's LSN %X/%X.", LSN_FORMAT_ARGS(slot->data.restart_lsn))); return false; @@ -586,7 +586,7 @@ update_and_persist_local_synced_slot(RemoteSlot *remote_slot, Oid remote_dbid) ReplicationSlotPersist(); ereport(LOG, - errmsg("newly created slot \"%s\" is sync-ready now", + errmsg("newly created replication slot \"%s\" is sync-ready now", remote_slot->name)); return true; @@ -625,7 +625,7 @@ synchronize_one_slot(RemoteSlot *remote_slot, Oid remote_dbid) */ ereport(AmLogicalSlotSyncWorkerProcess() ? LOG : ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("skipping slot synchronization as the received slot sync" + errmsg("skipping slot synchronization because the received slot sync" " LSN %X/%X for slot \"%s\" is ahead of the standby position %X/%X", LSN_FORMAT_ARGS(remote_slot->confirmed_lsn), remote_slot->name, @@ -992,10 +992,9 @@ validate_remote_info(WalReceiverConn *wrconn) if (!primary_slot_valid) ereport(ERROR, errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("slot synchronization requires valid primary_slot_name"), /* translator: second %s is a GUC variable name */ - errdetail("The replication slot \"%s\" specified by %s does not exist on the primary server.", - PrimarySlotName, "primary_slot_name")); + errmsg("replication slot \"%s\" specified by \"%s\" does not exist on primary server", + PrimarySlotName, "primary_slot_name")); ExecClearTuple(tupslot); walrcv_clear_result(res); @@ -1022,9 +1021,13 @@ CheckAndGetDbnameFromConninfo(void) if (dbname == NULL) ereport(ERROR, errcode(ERRCODE_INVALID_PARAMETER_VALUE), - /* translator: dbname is a specific option; %s is a GUC variable name */ - errmsg("slot synchronization requires dbname to be specified in %s", - "primary_conninfo")); + + /* + * translator: first %s is a connection option; second %s is a GUC + * variable name + */ + errmsg("replication slot synchronization requires \"%s\" to be specified in \"%s\"", + "dbname", "primary_conninfo")); return dbname; } @@ -1044,7 +1047,7 @@ ValidateSlotSyncParams(int elevel) if (wal_level < WAL_LEVEL_LOGICAL) ereport(ERROR, errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("slot synchronization requires \"wal_level\" >= \"logical\"")); + errmsg("replication slot synchronization requires \"wal_level\" >= \"logical\"")); /* * A physical replication slot(primary_slot_name) is required on the @@ -1057,7 +1060,7 @@ ValidateSlotSyncParams(int elevel) ereport(elevel, errcode(ERRCODE_INVALID_PARAMETER_VALUE), /* translator: %s is a GUC variable name */ - errmsg("slot synchronization requires %s to be defined", "primary_slot_name")); + errmsg("replication slot synchronization requires \"%s\" to be set", "primary_slot_name")); return false; } @@ -1071,7 +1074,7 @@ ValidateSlotSyncParams(int elevel) ereport(elevel, errcode(ERRCODE_INVALID_PARAMETER_VALUE), /* translator: %s is a GUC variable name */ - errmsg("slot synchronization requires %s to be enabled", + errmsg("replication slot synchronization requires \"%s\" to be enabled", "hot_standby_feedback")); return false; } @@ -1085,7 +1088,7 @@ ValidateSlotSyncParams(int elevel) ereport(elevel, errcode(ERRCODE_INVALID_PARAMETER_VALUE), /* translator: %s is a GUC variable name */ - errmsg("slot synchronization requires %s to be defined", + errmsg("replication slot synchronization requires \"%s\" to be set", "primary_conninfo")); return false; } @@ -1123,7 +1126,7 @@ slotsync_reread_config(void) { ereport(LOG, /* translator: %s is a GUC variable name */ - errmsg("slot sync worker will shutdown because %s is disabled", "sync_replication_slots")); + errmsg("replication slot synchronization worker will shut down because \"%s\" is disabled", "sync_replication_slots")); proc_exit(0); } @@ -1132,7 +1135,7 @@ slotsync_reread_config(void) (old_hot_standby_feedback != hot_standby_feedback)) { ereport(LOG, - errmsg("slot sync worker will restart because of a parameter change")); + errmsg("replication slot synchronization worker will restart because of a parameter change")); /* * Reset the last-start time for this worker so that the postmaster @@ -1156,7 +1159,7 @@ ProcessSlotSyncInterrupts(WalReceiverConn *wrconn) if (ShutdownRequestPending) { ereport(LOG, - errmsg("slot sync worker is shutting down on receiving SIGINT")); + errmsg("replication slot synchronization worker is shutting down on receiving SIGINT")); proc_exit(0); } diff --git a/src/backend/replication/pgoutput/pgoutput.c b/src/backend/replication/pgoutput/pgoutput.c index abef4eaf68..00e7024563 100644 --- a/src/backend/replication/pgoutput/pgoutput.c +++ b/src/backend/replication/pgoutput/pgoutput.c @@ -404,11 +404,11 @@ parse_output_parameters(List *options, PGOutputData *data) if (!protocol_version_given) ereport(ERROR, errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("proto_version option missing")); + errmsg("option \"%s\" missing", "proto_version")); if (!publication_names_given) ereport(ERROR, errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("publication_names option missing")); + errmsg("option \"%s\" missing", "publication_names")); } /* diff --git a/src/backend/replication/slot.c b/src/backend/replication/slot.c index baf9b89dc4..abd78d7b6c 100644 --- a/src/backend/replication/slot.c +++ b/src/backend/replication/slot.c @@ -795,7 +795,7 @@ ReplicationSlotDrop(const char *name, bool nowait) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("cannot drop replication slot \"%s\"", name), - errdetail("This slot is being synced from the primary server.")); + errdetail("This replication slot is being synchronized from the primary server.")); ReplicationSlotDropAcquired(); } @@ -826,7 +826,7 @@ ReplicationSlotAlter(const char *name, bool failover) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("cannot alter replication slot \"%s\"", name), - errdetail("This slot is being synced from the primary server.")); + errdetail("This replication slot is being synchronized from the primary server.")); /* * Do not allow users to enable failover on the standby as we do not @@ -2635,11 +2635,11 @@ StandbySlotsHaveCaughtup(XLogRecPtr wait_for_lsn, int elevel) */ ereport(elevel, errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("replication slot \"%s\" specified in parameter %s does not exist", + errmsg("replication slot \"%s\" specified in parameter \"%s\" does not exist", name, "synchronized_standby_slots"), - errdetail("Logical replication is waiting on the standby associated with \"%s\".", + errdetail("Logical replication is waiting on the standby associated with replication slot \"%s\".", name), - errhint("Consider creating the slot \"%s\" or amend parameter %s.", + errhint("Create the replication slot \"%s\" or amend parameter \"%s\".", name, "synchronized_standby_slots")); break; } @@ -2656,11 +2656,11 @@ StandbySlotsHaveCaughtup(XLogRecPtr wait_for_lsn, int elevel) */ ereport(elevel, errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("cannot have logical replication slot \"%s\" in parameter %s", + errmsg("cannot specify logical replication slot \"%s\" in parameter \"%s\"", name, "synchronized_standby_slots"), - errdetail("Logical replication is waiting for correction on \"%s\".", + errdetail("Logical replication is waiting for correction on replication slot \"%s\".", name), - errhint("Consider removing logical slot \"%s\" from parameter %s.", + errhint("Remove the logical replication slot \"%s\" from parameter \"%s\".", name, "synchronized_standby_slots")); break; } @@ -2676,11 +2676,11 @@ StandbySlotsHaveCaughtup(XLogRecPtr wait_for_lsn, int elevel) /* Specified physical slot has been invalidated */ ereport(elevel, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("physical slot \"%s\" specified in parameter %s has been invalidated", + errmsg("physical replication slot \"%s\" specified in parameter \"%s\" has been invalidated", name, "synchronized_standby_slots"), - errdetail("Logical replication is waiting on the standby associated with \"%s\".", + errdetail("Logical replication is waiting on the standby associated with replication slot \"%s\".", name), - errhint("Consider dropping and recreating the slot \"%s\" or amend parameter %s.", + errhint("Drop and recreate the replication slot \"%s\", or amend parameter \"%s\".", name, "synchronized_standby_slots")); break; } @@ -2691,11 +2691,11 @@ StandbySlotsHaveCaughtup(XLogRecPtr wait_for_lsn, int elevel) if (inactive) ereport(elevel, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("replication slot \"%s\" specified in parameter %s does not have active_pid", + errmsg("replication slot \"%s\" specified in parameter \"%s\" does not have active_pid", name, "synchronized_standby_slots"), - errdetail("Logical replication is waiting on the standby associated with \"%s\".", + errdetail("Logical replication is waiting on the standby associated with replication slot \"%s\".", name), - errhint("Consider starting standby associated with \"%s\" or amend parameter %s.", + errhint("Start the standby associated with the replication slot \"%s\", or amend parameter \"%s\".", name, "synchronized_standby_slots")); /* Continue if the current slot hasn't caught up. */ diff --git a/src/backend/rewrite/rewriteHandler.c b/src/backend/rewrite/rewriteHandler.c index c223a2c50a..6d59a2bb8d 100644 --- a/src/backend/rewrite/rewriteHandler.c +++ b/src/backend/rewrite/rewriteHandler.c @@ -3362,7 +3362,7 @@ rewriteTargetView(Query *parsetree, Relation view) errcode(ERRCODE_FEATURE_NOT_SUPPORTED), errmsg("cannot merge into view \"%s\"", RelationGetRelationName(view)), - errdetail("MERGE is not supported for views with INSTEAD OF triggers for some actions, but not others."), + errdetail("MERGE is not supported for views with INSTEAD OF triggers for some actions but not all."), errhint("To enable merging into the view, either provide a full set of INSTEAD OF triggers or drop the existing INSTEAD OF triggers.")); } } diff --git a/src/backend/utils/adt/jsonpath_exec.c b/src/backend/utils/adt/jsonpath_exec.c index c47221b7ee..e3ee0093d4 100644 --- a/src/backend/utils/adt/jsonpath_exec.c +++ b/src/backend/utils/adt/jsonpath_exec.c @@ -1382,7 +1382,7 @@ executeItemOptUnwrapTarget(JsonPathExecContext *cxt, JsonPathItem *jsp, if (res == jperNotFound) RETURN_ERROR(ereport(ERROR, (errcode(ERRCODE_NON_NUMERIC_SQL_JSON_ITEM), - errmsg("jsonpath item method .%s() can only be applied to a bool, string, or numeric value", + errmsg("jsonpath item method .%s() can only be applied to a boolean, string, or numeric value", jspOperationName(jsp->type))))); jb = &jbv; @@ -1663,7 +1663,7 @@ executeItemOptUnwrapTarget(JsonPathExecContext *cxt, JsonPathItem *jsp, case jbvBinary: RETURN_ERROR(ereport(ERROR, (errcode(ERRCODE_NON_NUMERIC_SQL_JSON_ITEM), - errmsg("jsonpath item method .%s() can only be applied to a bool, string, numeric, or datetime value", + errmsg("jsonpath item method .%s() can only be applied to a boolean, string, numeric, or datetime value", jspOperationName(jsp->type))))); break; } @@ -3984,12 +3984,12 @@ JsonPathQuery(Datum jb, JsonPath *jp, JsonWrapper wrapper, bool *empty, (errcode(ERRCODE_MORE_THAN_ONE_SQL_JSON_ITEM), errmsg("JSON path expression for column \"%s\" should return single item without wrapper", column_name), - errhint("Use WITH WRAPPER clause to wrap SQL/JSON items into array."))); + errhint("Use the WITH WRAPPER clause to wrap SQL/JSON items into an array."))); else ereport(ERROR, (errcode(ERRCODE_MORE_THAN_ONE_SQL_JSON_ITEM), errmsg("JSON path expression in JSON_QUERY should return single item without wrapper"), - errhint("Use WITH WRAPPER clause to wrap SQL/JSON items into array."))); + errhint("Use the WITH WRAPPER clause to wrap SQL/JSON items into an array."))); } if (singleton) diff --git a/src/backend/utils/misc/guc_tables.c b/src/backend/utils/misc/guc_tables.c index 5977c48744..a165bf5c36 100644 --- a/src/backend/utils/misc/guc_tables.c +++ b/src/backend/utils/misc/guc_tables.c @@ -2019,7 +2019,7 @@ struct config_bool ConfigureNamesBool[] = { {"sync_replication_slots", PGC_SIGHUP, REPLICATION_STANDBY, - gettext_noop("Enables a physical standby to synchronize logical failover slots from the primary server."), + gettext_noop("Enables a physical standby to synchronize logical failover replication slots from the primary server."), }, &sync_replication_slots, false, @@ -2349,7 +2349,7 @@ struct config_int ConfigureNamesInt[] = { {"subtransaction_buffers", PGC_POSTMASTER, RESOURCES_MEM, - gettext_noop("Sets the size of the dedicated buffer pool used for the sub-transaction cache."), + gettext_noop("Sets the size of the dedicated buffer pool used for the subtransaction cache."), gettext_noop("Specify 0 to have this value determined as a fraction of shared_buffers."), GUC_UNIT_BLOCKS }, @@ -4699,11 +4699,11 @@ struct config_string ConfigureNamesString[] = { {"synchronized_standby_slots", PGC_SIGHUP, REPLICATION_PRIMARY, - gettext_noop("Lists streaming replication standby server slot " + gettext_noop("Lists streaming replication standby server replication slot " "names that logical WAL sender processes will wait for."), gettext_noop("Logical WAL sender processes will send decoded " - "changes to plugins only after the specified " - "replication slots confirm receiving WAL."), + "changes to output plugins only after the specified " + "replication slots have confirmed receiving WAL."), GUC_LIST_INPUT }, &synchronized_standby_slots, diff --git a/src/bin/pg_basebackup/t/010_pg_basebackup.pl b/src/bin/pg_basebackup/t/010_pg_basebackup.pl index eebe3307d2..403acb6eb4 100644 --- a/src/bin/pg_basebackup/t/010_pg_basebackup.pl +++ b/src/bin/pg_basebackup/t/010_pg_basebackup.pl @@ -981,7 +981,7 @@ $node2->command_fails_like( "$tempdir" . '/diff_sysid', '--incremental', "$backupdir" . '/backup_manifest' ], - qr/manifest system identifier is .*, but database system identifier is/, + qr/system identifier in backup manifest is .*, but database system identifier is/, "pg_basebackup fails with different database system manifest"); done_testing(); diff --git a/src/common/parse_manifest.c b/src/common/parse_manifest.c index 612e120b17..5a7b491e9a 100644 --- a/src/common/parse_manifest.c +++ b/src/common/parse_manifest.c @@ -634,7 +634,7 @@ json_manifest_finalize_system_identifier(JsonManifestParseState *parse) system_identifier = strtou64(parse->manifest_system_identifier, &ep, 10); if (*ep) json_manifest_parse_failure(parse->context, - "manifest system identifier not an integer"); + "system identifier in manifest not an integer"); /* Invoke the callback for system identifier */ context->system_identifier_cb(context, system_identifier); diff --git a/src/test/recovery/t/040_standby_failover_slots_sync.pl b/src/test/recovery/t/040_standby_failover_slots_sync.pl index 2c51cfc3c8..823857bb32 100644 --- a/src/test/recovery/t/040_standby_failover_slots_sync.pl +++ b/src/test/recovery/t/040_standby_failover_slots_sync.pl @@ -280,7 +280,7 @@ $standby1->safe_psql('postgres', "SELECT pg_sync_replication_slots();"); # Confirm that the invalidated slot has been dropped. $standby1->wait_for_log( - qr/dropped replication slot "lsub1_slot" of dbid [0-9]+/, $log_offset); + qr/dropped replication slot "lsub1_slot" of database with OID [0-9]+/, $log_offset); # Confirm that the logical slot has been re-created on the standby and is # flagged as 'synced' @@ -335,7 +335,7 @@ $standby1->reload; ($result, $stdout, $stderr) = $standby1->psql('postgres', "SELECT pg_sync_replication_slots();"); ok( $stderr =~ - /ERROR: slot synchronization requires dbname to be specified in primary_conninfo/, + /ERROR: replication slot synchronization requires "dbname" to be specified in "primary_conninfo"/, "cannot sync slots if dbname is not specified in primary_conninfo"); # Add the dbname back to the primary_conninfo for further tests @@ -526,10 +526,10 @@ $standby1->reload; # Confirm that slot sync worker acknowledge the GUC change and logs the msg # about wrong configuration. $standby1->wait_for_log( - qr/slot sync worker will restart because of a parameter change/, + qr/slot synchronization worker will restart because of a parameter change/, $log_offset); $standby1->wait_for_log( - qr/slot synchronization requires hot_standby_feedback to be enabled/, + qr/slot synchronization requires "hot_standby_feedback" to be enabled/, $log_offset); $log_offset = -s $standby1->logfile; @@ -678,7 +678,7 @@ is($result, 't', "subscriber2 gets data from primary"); # Wait until the primary server logs a warning indicating that it is waiting # for the sb1_slot to catch up. $primary->wait_for_log( - qr/replication slot \"sb1_slot\" specified in parameter synchronized_standby_slots does not have active_pid/, + qr/replication slot \"sb1_slot\" specified in parameter "synchronized_standby_slots" does not have active_pid/, $offset); # The regress_mysub1 was enabled for failover so it doesn't get the data from @@ -757,7 +757,7 @@ $back_q->query_until( # Wait until the primary server logs a warning indicating that it is waiting # for the sb1_slot to catch up. $primary->wait_for_log( - qr/replication slot \"sb1_slot\" specified in parameter synchronized_standby_slots does not have active_pid/, + qr/replication slot \"sb1_slot\" specified in parameter "synchronized_standby_slots" does not have active_pid/, $offset); # Remove the standby from the synchronized_standby_slots list and reload the @@ -798,7 +798,7 @@ $primary->safe_psql('postgres', # Wait until the primary server logs a warning indicating that it is waiting # for the sb1_slot to catch up. $primary->wait_for_log( - qr/replication slot \"sb1_slot\" specified in parameter synchronized_standby_slots does not have active_pid/, + qr/replication slot \"sb1_slot\" specified in parameter "synchronized_standby_slots" does not have active_pid/, $offset); # The regress_mysub1 doesn't get the data from primary because the specified diff --git a/src/test/regress/expected/copy2.out b/src/test/regress/expected/copy2.out index e913f683a6..61a19cdc4c 100644 --- a/src/test/regress/expected/copy2.out +++ b/src/test/regress/expected/copy2.out @@ -740,24 +740,24 @@ CONTEXT: COPY check_ign_err, line 2, column n: "a" -- want context for notices \set SHOW_CONTEXT always COPY check_ign_err FROM STDIN WITH (on_error ignore, log_verbosity verbose); -NOTICE: skipping row due to data type incompatibility at line 2 for column n: "a" +NOTICE: skipping row due to data type incompatibility at line 2 for column "n": "a" CONTEXT: COPY check_ign_err -NOTICE: skipping row due to data type incompatibility at line 3 for column k: "3333333333" +NOTICE: skipping row due to data type incompatibility at line 3 for column "k": "3333333333" CONTEXT: COPY check_ign_err -NOTICE: skipping row due to data type incompatibility at line 4 for column m: "{a, 4}" +NOTICE: skipping row due to data type incompatibility at line 4 for column "m": "{a, 4}" CONTEXT: COPY check_ign_err -NOTICE: skipping row due to data type incompatibility at line 5 for column n: "" +NOTICE: skipping row due to data type incompatibility at line 5 for column "n": "" CONTEXT: COPY check_ign_err -NOTICE: skipping row due to data type incompatibility at line 7 for column m: "a" +NOTICE: skipping row due to data type incompatibility at line 7 for column "m": "a" CONTEXT: COPY check_ign_err -NOTICE: skipping row due to data type incompatibility at line 8 for column k: "a" +NOTICE: skipping row due to data type incompatibility at line 8 for column "k": "a" CONTEXT: COPY check_ign_err NOTICE: 6 rows were skipped due to data type incompatibility -- tests for on_error option with log_verbosity and null constraint via domain CREATE DOMAIN dcheck_ign_err2 varchar(15) NOT NULL; CREATE TABLE check_ign_err2 (n int, m int[], k int, l dcheck_ign_err2); COPY check_ign_err2 FROM STDIN WITH (on_error ignore, log_verbosity verbose); -NOTICE: skipping row due to data type incompatibility at line 2 for column l: null input +NOTICE: skipping row due to data type incompatibility at line 2 for column "l": null input CONTEXT: COPY check_ign_err2 NOTICE: 1 row was skipped due to data type incompatibility -- reset context choice diff --git a/src/test/regress/expected/foreign_key.out b/src/test/regress/expected/foreign_key.out index fed3d99b34..8c04a24b37 100644 --- a/src/test/regress/expected/foreign_key.out +++ b/src/test/regress/expected/foreign_key.out @@ -1972,7 +1972,7 @@ ALTER TABLE fk_partitioned_fk ATTACH PARTITION fk_partitioned_fk_2 CREATE TABLE fk_partitioned_pk_6 (a int PRIMARY KEY); CREATE TABLE fk_partitioned_fk_6 (a int REFERENCES fk_partitioned_pk_6) PARTITION BY LIST (a); ALTER TABLE fk_partitioned_fk_6 ATTACH PARTITION fk_partitioned_pk_6 FOR VALUES IN (1); -ERROR: can't attach table "fk_partitioned_pk_6" as a partition which is referenced by foreign key "fk_partitioned_fk_6_a_fkey" +ERROR: cannot attach table "fk_partitioned_pk_6" as a partition because it is referenced by foreign key "fk_partitioned_fk_6_a_fkey" DROP TABLE fk_partitioned_pk_6, fk_partitioned_fk_6; -- This case is similar to above, but the referenced relation is one level -- lower in the hierarchy. This one fails in a different way as the above, diff --git a/src/test/regress/expected/jsonb_jsonpath.out b/src/test/regress/expected/jsonb_jsonpath.out index 90e705ff14..b5bcece94e 100644 --- a/src/test/regress/expected/jsonb_jsonpath.out +++ b/src/test/regress/expected/jsonb_jsonpath.out @@ -1856,7 +1856,7 @@ select jsonb_path_query('123', '$.bigint() * 2'); -- Test .boolean() select jsonb_path_query('null', '$.boolean()'); -ERROR: jsonpath item method .boolean() can only be applied to a bool, string, or numeric value +ERROR: jsonpath item method .boolean() can only be applied to a boolean, string, or numeric value select jsonb_path_query('null', '$.boolean()', silent => true); jsonb_path_query ------------------ @@ -1868,9 +1868,9 @@ select jsonb_path_query('[]', '$.boolean()'); (0 rows) select jsonb_path_query('[]', 'strict $.boolean()'); -ERROR: jsonpath item method .boolean() can only be applied to a bool, string, or numeric value +ERROR: jsonpath item method .boolean() can only be applied to a boolean, string, or numeric value select jsonb_path_query('{}', '$.boolean()'); -ERROR: jsonpath item method .boolean() can only be applied to a bool, string, or numeric value +ERROR: jsonpath item method .boolean() can only be applied to a boolean, string, or numeric value select jsonb_path_query('[]', 'strict $.boolean()', silent => true); jsonb_path_query ------------------ @@ -2518,7 +2518,7 @@ select jsonb_path_query('12.3', '$.number() * 2'); -- Test .string() select jsonb_path_query('null', '$.string()'); -ERROR: jsonpath item method .string() can only be applied to a bool, string, numeric, or datetime value +ERROR: jsonpath item method .string() can only be applied to a boolean, string, numeric, or datetime value select jsonb_path_query('null', '$.string()', silent => true); jsonb_path_query ------------------ @@ -2530,9 +2530,9 @@ select jsonb_path_query('[]', '$.string()'); (0 rows) select jsonb_path_query('[]', 'strict $.string()'); -ERROR: jsonpath item method .string() can only be applied to a bool, string, numeric, or datetime value +ERROR: jsonpath item method .string() can only be applied to a boolean, string, numeric, or datetime value select jsonb_path_query('{}', '$.string()'); -ERROR: jsonpath item method .string() can only be applied to a bool, string, numeric, or datetime value +ERROR: jsonpath item method .string() can only be applied to a boolean, string, numeric, or datetime value select jsonb_path_query('[]', 'strict $.string()', silent => true); jsonb_path_query ------------------ diff --git a/src/test/regress/expected/sqljson_jsontable.out b/src/test/regress/expected/sqljson_jsontable.out index ca8604a053..721e01d6ad 100644 --- a/src/test/regress/expected/sqljson_jsontable.out +++ b/src/test/regress/expected/sqljson_jsontable.out @@ -710,7 +710,7 @@ LINE 1: SELECT * FROM JSON_TABLE(jsonb '{"a": 123}', '$' || '.' || '... -- JsonPathQuery() error message mentioning column name SELECT * FROM JSON_TABLE('{"a": [{"b": "1"}, {"b": "2"}]}', '$' COLUMNS (b json path '$.a[*].b' ERROR ON ERROR)); ERROR: JSON path expression for column "b" should return single item without wrapper -HINT: Use WITH WRAPPER clause to wrap SQL/JSON items into array. +HINT: Use the WITH WRAPPER clause to wrap SQL/JSON items into an array. -- JSON_TABLE: nested paths -- Duplicate path names SELECT * FROM JSON_TABLE( diff --git a/src/test/regress/expected/sqljson_queryfuncs.out b/src/test/regress/expected/sqljson_queryfuncs.out index 8b64e3c06b..73d7d2117e 100644 --- a/src/test/regress/expected/sqljson_queryfuncs.out +++ b/src/test/regress/expected/sqljson_queryfuncs.out @@ -807,7 +807,7 @@ SELECT JSON_QUERY(jsonb '[]', '$[*]' ERROR ON ERROR); -- NULL ON EMPTY SELECT JSON_QUERY(jsonb '[1,2]', '$[*]' ERROR ON ERROR); ERROR: JSON path expression in JSON_QUERY should return single item without wrapper -HINT: Use WITH WRAPPER clause to wrap SQL/JSON items into array. +HINT: Use the WITH WRAPPER clause to wrap SQL/JSON items into an array. SELECT JSON_QUERY(jsonb '[1,2]', '$[*]' DEFAULT '"empty"' ON ERROR); json_query ------------ diff --git a/src/test/regress/expected/updatable_views.out b/src/test/regress/expected/updatable_views.out index 96609a38f5..442b55120c 100644 --- a/src/test/regress/expected/updatable_views.out +++ b/src/test/regress/expected/updatable_views.out @@ -1279,7 +1279,7 @@ MERGE INTO rw_view2 t WHEN MATCHED THEN UPDATE SET b = s.b WHEN NOT MATCHED AND s.a > 0 THEN INSERT VALUES (s.a, s.b); -- should fail ERROR: cannot merge into view "rw_view2" -DETAIL: MERGE is not supported for views with INSTEAD OF triggers for some actions, but not others. +DETAIL: MERGE is not supported for views with INSTEAD OF triggers for some actions but not all. HINT: To enable merging into the view, either provide a full set of INSTEAD OF triggers or drop the existing INSTEAD OF triggers. MERGE INTO rw_view2 t USING (SELECT x, 'R'||x FROM generate_series(0,3) x) AS s(a,b) ON t.a = s.a