Add psql PROMPT variable showing the pid of the connected to backend.

The substitution for the pid is %p.

Author: Julien Rouhaud
Discussion: 116262CF971C844FB6E793F8809B51C6E99D48@BPXM02GP.gisp.nec.co.jp
This commit is contained in:
Andres Freund 2015-07-07 13:40:44 +02:00
parent b2f6f749c7
commit 275f05c990
2 changed files with 17 additions and 0 deletions

View File

@ -3364,6 +3364,13 @@ testdb=&gt; <userinput>INSERT INTO my_table VALUES (:'content');</userinput>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>%p</literal></term>
<listitem>
<para>The pid of the backend currently connected to.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>%&gt;</literal></term>
<listitem><para>The port number at which the database server is listening.</para></listitem>

View File

@ -34,6 +34,7 @@
* %M - database server "hostname.domainname", "[local]" for AF_UNIX
* sockets, "[local:/dir/name]" if not default
* %m - like %M, but hostname only (before first dot), or always "[local]"
* %p - backend pid
* %> - database server port number
* %n - database user name
* %/ - current database
@ -161,6 +162,15 @@ get_prompt(promptStatus_t status)
if (pset.db)
strlcpy(buf, session_username(), sizeof(buf));
break;
/* backend pid */
case 'p':
if (pset.db)
{
int pid = PQbackendPID(pset.db);
if (pid)
snprintf(buf, sizeof(buf), "%d", pid);
}
break;
case '0':
case '1':