Commit 58cd8dca authored by Tom Lane's avatar Tom Lane

Avoid redundantly prefixing PQerrorMessage for a connection failure.

libpq's error messages for connection failures pretty well stand on
their own, especially since commits 52a10224/27a48e5a.  Prefixing
them with 'could not connect to database "foo"' or the like is just
redundant, and perhaps even misleading if the specific database name
isn't relevant to the failure.  (When it is, we trust that the
backend's error message will include the DB name.)  Indeed, psql
hasn't used any such prefix in a long time.  So, make all our other
programs and documentation examples agree with psql's practice.

Discussion: https://postgr.es/m/1094524.1611266589@sss.pgh.pa.us
parent 7cd9765f
......@@ -347,8 +347,7 @@ sql_conn(struct options *my_opts)
/* check to see that the backend connection was successfully made */
if (PQstatus(conn) == CONNECTION_BAD)
{
pg_log_error("could not connect to database %s: %s",
my_opts->dbname, PQerrorMessage(conn));
pg_log_error("%s", PQerrorMessage(conn));
PQfinish(conn);
exit(1);
}
......
......@@ -124,8 +124,7 @@ vacuumlo(const char *database, const struct _param *param)
/* check to see that the backend connection was successfully made */
if (PQstatus(conn) == CONNECTION_BAD)
{
pg_log_error("connection to database \"%s\" failed: %s",
database, PQerrorMessage(conn));
pg_log_error("%s", PQerrorMessage(conn));
PQfinish(conn);
return -1;
}
......
......@@ -6837,8 +6837,8 @@ main(void)
if (PQstatus(conn) != CONNECTION_OK)
{
fprintf(stderr, "Connection to database failed: %s",
PQerrorMessage(conn));
/* PQerrorMessage's result includes a trailing newline */
fprintf(stderr, "%s", PQerrorMessage(conn));
PQfinish(conn);
return 1;
}
......@@ -8296,8 +8296,7 @@ main(int argc, char **argv)
/* Check to see that the backend connection was successfully made */
if (PQstatus(conn) != CONNECTION_OK)
{
fprintf(stderr, "Connection to database failed: %s",
PQerrorMessage(conn));
fprintf(stderr, "%s", PQerrorMessage(conn));
exit_nicely(conn);
}
......@@ -8466,8 +8465,7 @@ main(int argc, char **argv)
/* Check to see that the backend connection was successfully made */
if (PQstatus(conn) != CONNECTION_OK)
{
fprintf(stderr, "Connection to database failed: %s",
PQerrorMessage(conn));
fprintf(stderr, "%s", PQerrorMessage(conn));
exit_nicely(conn);
}
......@@ -8694,8 +8692,7 @@ main(int argc, char **argv)
/* Check to see that the backend connection was successfully made */
if (PQstatus(conn) != CONNECTION_OK)
{
fprintf(stderr, "Connection to database failed: %s",
PQerrorMessage(conn));
fprintf(stderr, "%s", PQerrorMessage(conn));
exit_nicely(conn);
}
......
......@@ -939,8 +939,7 @@ main(int argc, char **argv)
/* check to see that the backend connection was successfully made */
if (PQstatus(conn) != CONNECTION_OK)
{
fprintf(stderr, "Connection to database failed: %s",
PQerrorMessage(conn));
fprintf(stderr, "%s", PQerrorMessage(conn));
exit_nicely(conn);
}
......
......@@ -188,12 +188,10 @@ ConnectDatabase(Archive *AHX,
if (PQstatus(AH->connection) == CONNECTION_BAD)
{
if (isReconnect)
fatal("reconnection to database \"%s\" failed: %s",
PQdb(AH->connection) ? PQdb(AH->connection) : "",
fatal("reconnection failed: %s",
PQerrorMessage(AH->connection));
else
fatal("connection to database \"%s\" failed: %s",
PQdb(AH->connection) ? PQdb(AH->connection) : "",
fatal("%s",
PQerrorMessage(AH->connection));
}
......
......@@ -1768,8 +1768,7 @@ connectDatabase(const char *dbname, const char *connection_string,
{
if (fail_on_error)
{
pg_log_error("could not connect to database \"%s\": %s",
dbname, PQerrorMessage(conn));
pg_log_error("%s", PQerrorMessage(conn));
exit_nicely(1);
}
else
......
......@@ -3460,7 +3460,7 @@ foreach my $db (sort keys %create_sql)
command_fails_like(
[ 'pg_dump', '-p', "$port", 'qqq' ],
qr/pg_dump: error: connection to database "qqq" failed: connection to server .* failed: FATAL: database "qqq" does not exist/,
qr/pg_dump: error: connection to server .* failed: FATAL: database "qqq" does not exist/,
'connecting to a non-existent database');
#########################################
......
......@@ -30,8 +30,7 @@ connectToServer(ClusterInfo *cluster, const char *db_name)
if (conn == NULL || PQstatus(conn) != CONNECTION_OK)
{
pg_log(PG_REPORT, "connection to database failed: %s",
PQerrorMessage(conn));
pg_log(PG_REPORT, "%s", PQerrorMessage(conn));
if (conn)
PQfinish(conn);
......@@ -50,6 +49,8 @@ connectToServer(ClusterInfo *cluster, const char *db_name)
* get_db_conn()
*
* get database connection, using named database + standard params for cluster
*
* Caller must check for connection failure!
*/
static PGconn *
get_db_conn(ClusterInfo *cluster, const char *db_name)
......@@ -294,8 +295,7 @@ start_postmaster(ClusterInfo *cluster, bool report_and_exit_on_error)
if ((conn = get_db_conn(cluster, "template1")) == NULL ||
PQstatus(conn) != CONNECTION_OK)
{
pg_log(PG_REPORT, "\nconnection to database failed: %s",
PQerrorMessage(conn));
pg_log(PG_REPORT, "\n%s", PQerrorMessage(conn));
if (conn)
PQfinish(conn);
if (cluster == &old_cluster)
......
......@@ -1225,8 +1225,7 @@ doConnect(void)
/* check to see that the backend connection was successfully made */
if (PQstatus(conn) == CONNECTION_BAD)
{
pg_log_error("connection to database \"%s\" failed: %s",
dbName, PQerrorMessage(conn));
pg_log_error("%s", PQerrorMessage(conn));
PQfinish(conn);
return NULL;
}
......
......@@ -90,7 +90,7 @@ pgbench(
1,
[qr{^$}],
[
qr{connection to database "no-such-database" failed},
qr{connection to server .* failed},
qr{FATAL: database "no-such-database" does not exist}
],
'no such database');
......
......@@ -150,8 +150,7 @@ connectDatabase(const ConnParams *cparams, const char *progname,
PQfinish(conn);
return NULL;
}
pg_log_error("could not connect to database %s: %s",
cparams->dbname, PQerrorMessage(conn));
pg_log_error("%s", PQerrorMessage(conn));
exit(1);
}
......
......@@ -652,7 +652,8 @@ ECPGconnect(int lineno, int c, const char *name, const char *user, const char *p
const char *errmsg = PQerrorMessage(this->connection);
const char *db = realname ? realname : ecpg_gettext("<DEFAULT>");
ecpg_log("ECPGconnect: could not open database: %s\n", errmsg);
/* PQerrorMessage's result already has a trailing newline */
ecpg_log("ECPGconnect: %s", errmsg);
ecpg_finish(this);
#ifdef ENABLE_THREAD_SAFETY
......
......@@ -36,8 +36,7 @@
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ECPGconnect: opening database <DEFAULT> on <DEFAULT> port <DEFAULT> for user regress_ecpg_user2
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ECPGconnect: could not open database: connection to server failed: FATAL: database "regress_ecpg_user2" does not exist
[NO_PID]: ECPGconnect: connection to server failed: FATAL: database "regress_ecpg_user2" does not exist
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_finish: connection main closed
[NO_PID]: sqlca: code: 0, state: 00000
......@@ -73,8 +72,7 @@
[NO_PID]: sqlca: code: -220, state: 08003
[NO_PID]: ECPGconnect: opening database <DEFAULT> on <DEFAULT> port <DEFAULT> for user regress_ecpg_user2
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ECPGconnect: could not open database: connection to server failed: FATAL: database "regress_ecpg_user2" does not exist
[NO_PID]: ECPGconnect: connection to server failed: FATAL: database "regress_ecpg_user2" does not exist
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_finish: connection main closed
[NO_PID]: sqlca: code: 0, state: 00000
......
......@@ -43,8 +43,7 @@ main(int argc, char **argv)
/* Check to see that the backend connection was successfully made */
if (PQstatus(conn) != CONNECTION_OK)
{
fprintf(stderr, "Connection to database failed: %s",
PQerrorMessage(conn));
fprintf(stderr, "%s", PQerrorMessage(conn));
exit_nicely(conn);
}
......
......@@ -72,8 +72,7 @@ main(int argc, char **argv)
/* Check to see that the backend connection was successfully made */
if (PQstatus(conn) != CONNECTION_OK)
{
fprintf(stderr, "Connection to database failed: %s",
PQerrorMessage(conn));
fprintf(stderr, "%s", PQerrorMessage(conn));
exit_nicely(conn);
}
......
......@@ -138,8 +138,7 @@ main(int argc, char **argv)
/* Check to see that the backend connection was successfully made */
if (PQstatus(conn) != CONNECTION_OK)
{
fprintf(stderr, "Connection to database failed: %s",
PQerrorMessage(conn));
fprintf(stderr, "%s", PQerrorMessage(conn));
exit_nicely(conn);
}
......
......@@ -29,8 +29,7 @@ check_prepare_conn(PGconn *conn, const char *dbName)
/* check to see that the backend connection was successfully made */
if (PQstatus(conn) != CONNECTION_OK)
{
fprintf(stderr, "Connection to database \"%s\" failed: %s",
dbName, PQerrorMessage(conn));
fprintf(stderr, "%s", PQerrorMessage(conn));
exit(1);
}
......
......@@ -225,8 +225,7 @@ main(int argc, char **argv)
/* check to see that the backend connection was successfully made */
if (PQstatus(conn) != CONNECTION_OK)
{
fprintf(stderr, "Connection to database failed: %s",
PQerrorMessage(conn));
fprintf(stderr, "%s", PQerrorMessage(conn));
exit_nicely(conn);
}
......
......@@ -249,8 +249,7 @@ main(int argc, char **argv)
/* check to see that the backend connection was successfully made */
if (PQstatus(conn) != CONNECTION_OK)
{
fprintf(stderr, "Connection to database failed: %s",
PQerrorMessage(conn));
fprintf(stderr, "%s", PQerrorMessage(conn));
exit_nicely(conn);
}
......
......@@ -167,7 +167,7 @@ main(int argc, char **argv)
conns[i] = PQconnectdb(conninfo);
if (PQstatus(conns[i]) != CONNECTION_OK)
{
fprintf(stderr, "Connection %d to database failed: %s",
fprintf(stderr, "Connection %d failed: %s",
i, PQerrorMessage(conns[i]));
exit(1);
}
......
......@@ -44,7 +44,7 @@ main(int argc, char **argv)
conn = PQconnectdb(sql.data);
if (PQstatus(conn) == CONNECTION_BAD)
{
fprintf(stderr, "connection error: %s\n", PQerrorMessage(conn));
fprintf(stderr, "%s", PQerrorMessage(conn));
exit(EXIT_FAILURE);
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment