A few client tools duplicate error messages already provided by libpq, such as
pg_rewind: fatal: could not connect to server: could not connect to server: No such file or directory
Good catch!
Other client tools provide a different error message so in aggregate it looks like this:
createdb: error: could not connect to database template1: could not connect to server: No such file or directory
Is the database name important for this message? You should inform which database you want to connect for all client tools except pg_dumpall. Hence, you already know which database has the connection problem. IMO the pg_dumpall message should inform the database name. My suggestion is:
if (fail_on_error) { pg_log_error("database \"%s\": %s", dbname, PQerrorMessage(conn)); exit_nicely(1); }
and remove the redundant 'could not connect to database %s' from scripts/common.c.