Getting process id of a connection?
Hi all,
Is there a way to determine the pid of a database connection from
within that connection?
As a hypothetical example, I would like to be able to do the following:
$ps x
PID TTY STAT TIME COMMAND
11674 ? S 0:00 sshd: webbs@pts/1
11675 pts/1 Ss 0:00 -bash
11682 pts/1 T 0:00 psql
11685 pts/1 R+ 0:00 ps x
psql=# select CURRENT_PID;
11682
I want this so that I can log the psycopg2 connection pid, and kill it
to test reconnection code.
Thanks!
-W
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
On Fri, 4 Jan 2008 14:59:47 -0800
"Webb Sprague" <webb.sprague@gmail.com> wrote:
Hi all,
Is there a way to determine the pid of a database connection from
within that connection?As a hypothetical example, I would like to be able to do the
following:$ps x
PID TTY STAT TIME COMMAND
11674 ? S 0:00 sshd: webbs@pts/1
11675 pts/1 Ss 0:00 -bash
11682 pts/1 T 0:00 psql
11685 pts/1 R+ 0:00 ps xpsql=# select CURRENT_PID;
11682I want this so that I can log the psycopg2 connection pid, and kill it
to test reconnection code.
postgres=# select procpid from pg_stat_activity;
procpid
- ---------
30851
17510
4496
20237
1305
(5 rows)
Sincerely,
Joshua D. Drake
- --
The PostgreSQL Company: Since 1997, http://www.commandprompt.com/
Sales/Support: +1.503.667.4564 24x7/Emergency: +1.800.492.2240
Donate to the PostgreSQL Project: http://www.postgresql.org/about/donate
SELECT 'Training', 'Consulting' FROM vendor WHERE name = 'CMD'
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
iD8DBQFHfrwSATb/zqfZUUQRAq9XAKCnuyYcmAu/kmeoHGzJ9B2HDCS63ACffPGA
zXb5dnHQImYtoE89WK3CyuI=
=jQmT
-----END PGP SIGNATURE-----
Webb Sprague wrote:
Hi all,
Is there a way to determine the pid of a database connection from
within that connection?As a hypothetical example, I would like to be able to do the following:
$ps x
PID TTY STAT TIME COMMAND
11674 ? S 0:00 sshd: webbs@pts/1
11675 pts/1 Ss 0:00 -bash
11682 pts/1 T 0:00 psql
11685 pts/1 R+ 0:00 ps xpsql=# select CURRENT_PID;
11682I want this so that I can log the psycopg2 connection pid, and kill it
to test reconnection code.Thanks!
-W
I think select pg_backend_pid(); will do that.
Joshua D. Drake wrote:
On Fri, 4 Jan 2008 14:59:47 -0800
"Webb Sprague" <webb.sprague@gmail.com> wrote:Hi all,
Is there a way to determine the pid of a database connection from
within that connection?As a hypothetical example, I would like to be able to do the
following:$ps x
PID TTY STAT TIME COMMAND
11674 ? S 0:00 sshd: webbs@pts/1
11675 pts/1 Ss 0:00 -bash
11682 pts/1 T 0:00 psql
11685 pts/1 R+ 0:00 ps xpsql=# select CURRENT_PID;
11682I want this so that I can log the psycopg2 connection pid, and kill it
to test reconnection code.postgres=# select procpid from pg_stat_activity;
procpid
- ---------
30851
17510
4496
20237
1305
(5 rows)
I think he's looking for the pid of the client, not the server.
cww=# select procpid from pg_stat_activity;
procpid
---------
8902
(1 row)
8902 ? Ss 0:00 \_ postgres: cww cww 192.168.171.100(40424)
idle
Colin
I think select pg_backend_pid(); will do that.
Perfect. I tried googling but I didn't try \df *pid* which would have found it
I tried to figure out the pg_stat_activity, but I can't think of a
WHERE condition that would make it give me the info I wanted.
Thx again to everyone.