Skip to content

Commit 3272be3

Browse files
committed
Improve dblink error message when remote does not provide it
When dblink or postgres_fdw detects an error on the remote side of the connection, it will try to construct a local error message as best it can using libpq's PQresultErrorField(). When no primary message is available, it was bailing out with an unhelpful "unknown error". Make that message better and more style guide compliant. Per discussion on hackers. Backpatch to 9.2 except postgres_fdw which didn't exist before 9.3. Discussion: https://postgr.es/m/19872.1482338965%40sss.pgh.pa.us
1 parent a57695d commit 3272be3

File tree

2 files changed

+2
-2
lines changed

2 files changed

+2
-2
lines changed

contrib/dblink/dblink.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2710,7 +2710,7 @@ dblink_res_error(const char *conname, PGresult *res, const char *dblink_context_
27102710
ereport(level,
27112711
(errcode(sqlstate),
27122712
message_primary ? errmsg_internal("%s", message_primary) :
2713-
errmsg("unknown error"),
2713+
errmsg("could not obtain message string for remote error"),
27142714
message_detail ? errdetail_internal("%s", message_detail) : 0,
27152715
message_hint ? errhint("%s", message_hint) : 0,
27162716
message_context ? errcontext("%s", message_context) : 0,

contrib/postgres_fdw/connection.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -496,7 +496,7 @@ pgfdw_report_error(int elevel, PGresult *res, PGconn *conn,
496496
ereport(elevel,
497497
(errcode(sqlstate),
498498
message_primary ? errmsg_internal("%s", message_primary) :
499-
errmsg("unknown error"),
499+
errmsg("could not obtain message string for remote error"),
500500
message_detail ? errdetail_internal("%s", message_detail) : 0,
501501
message_hint ? errhint("%s", message_hint) : 0,
502502
message_context ? errcontext("%s", message_context) : 0,

0 commit comments

Comments
 (0)