From: Robert Haas Date: Fri, 23 Jul 2010 14:56:54 +0000 (+0000) Subject: Have psql avoid describing local sockets as host names. X-Git-Tag: REL9_1_ALPHA1~188 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=87e0b7422d70ff4fb69612ef7ba3cbee6ed8d2ae;p=postgresql Have psql avoid describing local sockets as host names. We now use the phrase 'via local socket in' rather than 'on host' in both \c and \conninfo output, when applicable. Fujii Masao, with some kibitzing by me. --- diff --git a/src/bin/psql/command.c b/src/bin/psql/command.c index c90bf2805e..5e55145569 100644 --- a/src/bin/psql/command.c +++ b/src/bin/psql/command.c @@ -3,7 +3,7 @@ * * Copyright (c) 2000-2010, PostgreSQL Global Development Group * - * $PostgreSQL: pgsql/src/bin/psql/command.c,v 1.223 2010/07/20 14:14:30 rhaas Exp $ + * $PostgreSQL: pgsql/src/bin/psql/command.c,v 1.224 2010/07/23 14:56:54 rhaas Exp $ */ #include "postgres_fe.h" #include "command.h" @@ -300,14 +300,23 @@ exec_command(const char *cmd, char *db = PQdb(pset.db); char *host = PQhost(pset.db); - if (!db) + if (db == NULL) printf("You are not connected.\n"); - else if (host) - printf("You are connected to database \"%s\" on host \"%s\" at port \"%s\" as user \"%s\".\n", - db, host, PQport(pset.db), PQuser(pset.db)); else - printf("You are connected to database \"%s\" via local socket at port \"%s\" as user \"%s\".\n", - db, PQport(pset.db), PQuser(pset.db)); + { + if (host == NULL) + host = DEFAULT_PGSOCKET_DIR; + /* + * If the host is an absolute path, the connection is via local + * socket. + */ + if (is_absolute_path(host)) + printf("You are connected to database \"%s\" via local socket in \"%s\" at port \"%s\" as user \"%s\".\n", + db, host, PQport(pset.db), PQuser(pset.db)); + else + printf("You are connected to database \"%s\" on host \"%s\" at port \"%s\" as user \"%s\".\n", + db, host, PQport(pset.db), PQuser(pset.db)); + } } /* \copy */ @@ -1366,7 +1375,15 @@ do_connect(char *dbname, char *user, char *host, char *port) printf(_("You are now connected to database \"%s\""), PQdb(pset.db)); if (param_is_newly_set(PQhost(o_conn), PQhost(pset.db))) - printf(_(" on host \"%s\""), PQhost(pset.db)); + { + char *host = PQhost(pset.db); + + /* If the host is an absolute path, the connection is via local socket */ + if (is_absolute_path(host)) + printf(_(" via local socket in \"%s\""), host); + else + printf(_(" on host \"%s\""), host); + } if (param_is_newly_set(PQport(o_conn), PQport(pset.db))) printf(_(" at port \"%s\""), PQport(pset.db));