]> granicus.if.org Git - postgresql/commitdiff
Add \conninfo command to psql, to show current connection info.
authorRobert Haas <rhaas@postgresql.org>
Tue, 20 Jul 2010 03:54:19 +0000 (03:54 +0000)
committerRobert Haas <rhaas@postgresql.org>
Tue, 20 Jul 2010 03:54:19 +0000 (03:54 +0000)
David Christensen. Reviewed by Steve Singer.  Some further changes by me.

doc/src/sgml/ref/psql-ref.sgml
src/bin/psql/command.c
src/bin/psql/help.c
src/bin/psql/tab-complete.c

index 48391117a81470497d3ebfe52a7f101d04c933a6..4ea66a30d5a3a6e10e4cb3b2600a2f5987755837 100644 (file)
@@ -1,5 +1,5 @@
 <!--
-$PostgreSQL: pgsql/doc/src/sgml/ref/psql-ref.sgml,v 1.245 2010/07/10 00:50:24 rhaas Exp $
+$PostgreSQL: pgsql/doc/src/sgml/ref/psql-ref.sgml,v 1.246 2010/07/20 03:54:19 rhaas Exp $
 PostgreSQL documentation
 -->
 
@@ -780,6 +780,16 @@ testdb=&gt;
         </listitem>
       </varlistentry>
 
+      <varlistentry>
+        <term><literal>\conninfo</literal></term>
+        <listitem>
+        <para>
+        Outputs connection information about the current database
+        connection.
+        </para>
+        </listitem>
+      </varlistentry>
+
       <varlistentry>
         <term><literal>\copy { <replaceable class="parameter">table</replaceable> [ ( <replaceable class="parameter">column_list</replaceable> ) ] | ( <replaceable class="parameter">query</replaceable> ) }
         { <literal>from</literal> | <literal>to</literal> }
index acc5d35cf93c1e8ab53828d655b0c0921732501e..affdffce1d9476d00905037cb1b9bd2118ca273c 100644 (file)
@@ -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)
        {
index 47fa934db53df4dee05951dda3d4c9d1e880dcba..8351c5fb02b8d8d625e4bf90a59492d49441e16e 100644 (file)
@@ -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"));
index e79e1e84ac511cd85fab474d837086774d7a0a21..5368d4ac45c5bf766f14a6d19d5cc694615351f7 100644 (file)
@@ -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",