diff --git a/doc/src/sgml/ref/psql-ref.sgml b/doc/src/sgml/ref/psql-ref.sgml index 48391117a8..4ea66a30d5 100644 --- a/doc/src/sgml/ref/psql-ref.sgml +++ b/doc/src/sgml/ref/psql-ref.sgml @@ -1,5 +1,5 @@ @@ -780,6 +780,16 @@ testdb=> + + \conninfo + + + Outputs connection information about the current database + connection. + + + + \copy { table [ ( column_list ) ] | ( query ) } { from | to } diff --git a/src/bin/psql/command.c b/src/bin/psql/command.c index acc5d35cf9..affdffce1d 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.221 2010/07/06 19:18:59 momjian Exp $ + * $PostgreSQL: pgsql/src/bin/psql/command.c,v 1.222 2010/07/20 03:54:19 rhaas Exp $ */ #include "postgres_fe.h" #include "command.h" @@ -294,6 +294,22 @@ exec_command(const char *cmd, free(opt); } + /* \conninfo -- display information about the current connection */ + else if (strcmp(cmd, "conninfo") == 0) + { + char *db = PQdb(pset.db); + char *host = PQhost(pset.db); + + if (!db) + 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 as user \"%s\".\n", + db, PQuser(pset.db)); + } + /* \copy */ else if (pg_strcasecmp(cmd, "copy") == 0) { diff --git a/src/bin/psql/help.c b/src/bin/psql/help.c index 47fa934db5..8351c5fb02 100644 --- a/src/bin/psql/help.c +++ b/src/bin/psql/help.c @@ -3,7 +3,7 @@ * * Copyright (c) 2000-2010, PostgreSQL Global Development Group * - * $PostgreSQL: pgsql/src/bin/psql/help.c,v 1.159 2010/05/26 19:29:22 rhaas Exp $ + * $PostgreSQL: pgsql/src/bin/psql/help.c,v 1.160 2010/07/20 03:54:19 rhaas Exp $ */ #include "postgres_fe.h" @@ -162,7 +162,7 @@ slashUsage(unsigned short int pager) { FILE *output; - output = PageOutput(86, pager); + output = PageOutput(87, pager); /* if you add/remove a line here, change the row count above */ @@ -249,6 +249,7 @@ slashUsage(unsigned short int pager) PQdb(pset.db)); fprintf(output, _(" \\encoding [ENCODING] show or set client encoding\n")); fprintf(output, _(" \\password [USERNAME] securely change the password for a user\n")); + fprintf(output, _(" \\conninfo display information about current connection\n")); fprintf(output, "\n"); fprintf(output, _("Operating System\n")); diff --git a/src/bin/psql/tab-complete.c b/src/bin/psql/tab-complete.c index e79e1e84ac..5368d4ac45 100644 --- a/src/bin/psql/tab-complete.c +++ b/src/bin/psql/tab-complete.c @@ -3,7 +3,7 @@ * * Copyright (c) 2000-2010, PostgreSQL Global Development Group * - * $PostgreSQL: pgsql/src/bin/psql/tab-complete.c,v 1.200 2010/07/06 19:19:00 momjian Exp $ + * $PostgreSQL: pgsql/src/bin/psql/tab-complete.c,v 1.201 2010/07/20 03:54:19 rhaas Exp $ */ /*---------------------------------------------------------------------- @@ -636,7 +636,7 @@ psql_completion(char *text, int start, int end) }; static const char *const backslash_commands[] = { - "\\a", "\\connect", "\\C", "\\cd", "\\copy", "\\copyright", + "\\a", "\\connect", "\\conninfo", "\\C", "\\cd", "\\copy", "\\copyright", "\\d", "\\da", "\\db", "\\dc", "\\dC", "\\dd", "\\dD", "\\des", "\\deu", "\\dew", "\\df", "\\dF", "\\dFd", "\\dFp", "\\dFt", "\\dg", "\\di", "\\dl", "\\dn", "\\do", "\\dp", "\\drds", "\\ds", "\\dS", "\\dt", "\\dT", "\\dv", "\\du",