From 6197db5340b8154adce1c6d07f6d3325547429c1 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Wed, 31 Mar 2021 15:25:53 -0400 Subject: [PATCH] Improve style of some replication-related error messages. Put the remote end's error message into the primary error string, instead of relegating it to errdetail(). Although this could end up being awkward if the remote sends us a really long error message, it seems more in keeping with our message style guidelines, and more helpful in situations where the errdetail could get dropped. Peter Smith Discussion: https://postgr.es/m/CAHut+Ps-Qv2yQceCwobQDP0aJOkfDzRFrOaR6+2Op2K=WHGeWg@mail.gmail.com --- src/backend/commands/subscriptioncmds.c | 13 +++++-------- src/backend/replication/logical/tablesync.c | 8 ++++---- 2 files changed, 9 insertions(+), 12 deletions(-) diff --git a/src/backend/commands/subscriptioncmds.c b/src/backend/commands/subscriptioncmds.c index bfd3514546..5282b79735 100644 --- a/src/backend/commands/subscriptioncmds.c +++ b/src/backend/commands/subscriptioncmds.c @@ -1320,17 +1320,15 @@ ReplicationSlotDropAtPubNode(WalReceiverConn *wrconn, char *slotname, bool missi { /* LOG. Error, but missing_ok = true. */ ereport(LOG, - (errmsg("could not drop the replication slot \"%s\" on publisher", - slotname), - errdetail("The error was: %s", res->err))); + (errmsg("could not drop replication slot \"%s\" on publisher: %s", + slotname, res->err))); } else { /* ERROR. */ ereport(ERROR, - (errmsg("could not drop the replication slot \"%s\" on publisher", - slotname), - errdetail("The error was: %s", res->err))); + (errmsg("could not drop replication slot \"%s\" on publisher: %s", + slotname, res->err))); } walrcv_clear_result(res); @@ -1545,8 +1543,7 @@ ReportSlotConnectionError(List *rstates, Oid subid, char *slotname, char *err) ereport(ERROR, (errmsg("could not connect to publisher when attempting to " - "drop the replication slot \"%s\"", slotname), - errdetail("The error was: %s", err), + "drop replication slot \"%s\": %s", slotname, err), /* translator: %s is an SQL ALTER command */ errhint("Use %s to disassociate the subscription from the slot.", "ALTER SUBSCRIPTION ... SET (slot_name = NONE)"))); diff --git a/src/backend/replication/logical/tablesync.c b/src/backend/replication/logical/tablesync.c index 8494db8f05..0638f5c7f8 100644 --- a/src/backend/replication/logical/tablesync.c +++ b/src/backend/replication/logical/tablesync.c @@ -1043,8 +1043,8 @@ LogicalRepSyncTableStart(XLogRecPtr *origin_startpos) 0, NULL); if (res->status != WALRCV_OK_COMMAND) ereport(ERROR, - (errmsg("table copy could not start transaction on publisher"), - errdetail("The error was: %s", res->err))); + (errmsg("table copy could not start transaction on publisher: %s", + res->err))); walrcv_clear_result(res); /* @@ -1103,8 +1103,8 @@ LogicalRepSyncTableStart(XLogRecPtr *origin_startpos) res = walrcv_exec(wrconn, "COMMIT", 0, NULL); if (res->status != WALRCV_OK_COMMAND) ereport(ERROR, - (errmsg("table copy could not finish transaction on publisher"), - errdetail("The error was: %s", res->err))); + (errmsg("table copy could not finish transaction on publisher: %s", + res->err))); walrcv_clear_result(res); table_close(rel, NoLock); -- 2.39.5