aboutsummaryrefslogtreecommitdiff
path: root/src/interfaces/libpq/fe-connect.c
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2021-01-21 16:10:18 -0500
committerTom Lane <tgl@sss.pgh.pa.us>2021-01-21 16:10:18 -0500
commit27a48e5a16ff2227ddf44ee717d9bcd89d22a7aa (patch)
tree7b1861a7d0f35c213a1a8e0db54a13daeb07cd81 /src/interfaces/libpq/fe-connect.c
parent55dc86eca70b1dc18a79c141b3567efed910329d (diff)
downloadpostgresql-27a48e5a16ff2227ddf44ee717d9bcd89d22a7aa.tar.gz
postgresql-27a48e5a16ff2227ddf44ee717d9bcd89d22a7aa.zip
Improve new wording of libpq's connection failure messages.
"connection to server so-and-so failed:" seems clearer than the previous wording "could not connect to so-and-so:" (introduced by 52a10224e), because the latter suggests a network-level connection failure. We're now prefixing this string to all types of connection failures, for instance authentication failures; so we need wording that doesn't imply a low-level error. Per discussion with Robert Haas. Discussion: https://postgr.es/m/CA+TgmobssJ6rS22dspWnu-oDxXevGmhMD8VcRBjmj-b9UDqRjw@mail.gmail.com
Diffstat (limited to 'src/interfaces/libpq/fe-connect.c')
-rw-r--r--src/interfaces/libpq/fe-connect.c31
1 files changed, 16 insertions, 15 deletions
diff --git a/src/interfaces/libpq/fe-connect.c b/src/interfaces/libpq/fe-connect.c
index 2b78ed8ec3e..8ca0583aa90 100644
--- a/src/interfaces/libpq/fe-connect.c
+++ b/src/interfaces/libpq/fe-connect.c
@@ -1668,17 +1668,16 @@ getHostaddr(PGconn *conn, char *host_addr, int host_addr_len)
host_addr[0] = '\0';
}
-/* ----------
- * emitCouldNotConnect -
- * Speculatively append "could not connect to ...: " to conn->errorMessage
- * once we've identified the current connection target address. This ensures
- * that any subsequent error message will be properly attributed to the
- * server we couldn't connect to. conn->raddr must be valid, and the result
- * of getHostaddr() must be supplied.
- * ----------
+/*
+ * emitHostIdentityInfo -
+ * Speculatively append "connection to server so-and-so failed: " to
+ * conn->errorMessage once we've identified the current connection target
+ * address. This ensures that any subsequent error message will be properly
+ * attributed to the server we couldn't connect to. conn->raddr must be
+ * valid, and the result of getHostaddr() must be supplied.
*/
static void
-emitCouldNotConnect(PGconn *conn, const char *host_addr)
+emitHostIdentityInfo(PGconn *conn, const char *host_addr)
{
#ifdef HAVE_UNIX_SOCKETS
if (IS_AF_UNIX(conn->raddr.addr.ss_family))
@@ -1690,7 +1689,7 @@ emitCouldNotConnect(PGconn *conn, const char *host_addr)
service, sizeof(service),
NI_NUMERICSERV);
appendPQExpBuffer(&conn->errorMessage,
- libpq_gettext("could not connect to socket \"%s\": "),
+ libpq_gettext("connection to server on socket \"%s\" failed: "),
service);
}
else
@@ -1717,12 +1716,12 @@ emitCouldNotConnect(PGconn *conn, const char *host_addr)
host_addr[0] &&
strcmp(displayed_host, host_addr) != 0)
appendPQExpBuffer(&conn->errorMessage,
- libpq_gettext("could not connect to host \"%s\" (%s), port %s: "),
+ libpq_gettext("connection to server at \"%s\" (%s), port %s failed: "),
displayed_host, host_addr,
displayed_port);
else
appendPQExpBuffer(&conn->errorMessage,
- libpq_gettext("could not connect to host \"%s\", port %s: "),
+ libpq_gettext("connection to server at \"%s\", port %s failed: "),
displayed_host,
displayed_port);
}
@@ -2524,7 +2523,7 @@ keep_going: /* We will come back to here until there is
conn->try_next_addr = true;
goto keep_going;
}
- emitCouldNotConnect(conn, host_addr);
+ emitHostIdentityInfo(conn, host_addr);
appendPQExpBuffer(&conn->errorMessage,
libpq_gettext("could not create socket: %s\n"),
SOCK_STRERROR(errorno, sebuf, sizeof(sebuf)));
@@ -2534,9 +2533,11 @@ keep_going: /* We will come back to here until there is
/*
* Once we've identified a target address, all errors
* except the preceding socket()-failure case should be
- * prefixed with "could not connect to <target>: ".
+ * prefixed with host-identity information. (If the
+ * connection succeeds, the contents of conn->errorMessage
+ * won't matter, so this is harmless.)
*/
- emitCouldNotConnect(conn, host_addr);
+ emitHostIdentityInfo(conn, host_addr);
/*
* Select socket options: no delay of outgoing data for