From 275f05c990c46f8dfe3cb46a3279521bda9e9e27 Mon Sep 17 00:00:00 2001 From: Andres Freund Date: Tue, 7 Jul 2015 13:40:44 +0200 Subject: [PATCH] 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 --- doc/src/sgml/ref/psql-ref.sgml | 7 +++++++ src/bin/psql/prompt.c | 10 ++++++++++ 2 files changed, 17 insertions(+) diff --git a/doc/src/sgml/ref/psql-ref.sgml b/doc/src/sgml/ref/psql-ref.sgml index d17d405f20..ac609fdf56 100644 --- a/doc/src/sgml/ref/psql-ref.sgml +++ b/doc/src/sgml/ref/psql-ref.sgml @@ -3364,6 +3364,13 @@ testdb=> INSERT INTO my_table VALUES (:'content'); + + %p + + The pid of the backend currently connected to. + + + %> The port number at which the database server is listening. diff --git a/src/bin/psql/prompt.c b/src/bin/psql/prompt.c index 89842673f8..96e669a6ff 100644 --- a/src/bin/psql/prompt.c +++ b/src/bin/psql/prompt.c @@ -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':