postgresql查看用户连接以及杀死连接的会话

连接数大小参数:

max_connection

查看连接总数:

select count(*) from pg_stat_activity;

查看所有连接的用户:

select * from pg_stat_activity;

结果集会显示当前连接的数据库名、用户、IP地址、开始时间、等待事件、查询语句等
pg_stat_activity其实是一个视图。

结束连接的进程

pg_terminate_backend 是pg的内部方法,另外还有一个叫pg_cancel_backend,这个方法在8.4以前的版本中就一直存在。这两个方法的区别在于,pg_cancel_backend 只是取消当前某一个进程的查询操作,但不能释放数据库连接。但pg_terminate_backend 可以在pg的后台杀死这个进程,从而释放出宝贵的连接资源

SELECT pg_terminate_backend(15278)

杀死所有idle的进程:

postgres=# select pg_terminate_backend(pid) from pg_stat_activity where state=’idle’;

pg_terminate_backend

t
t
(2 rows)

或在PG数据库mydb服务器中,查找进程PID然后进行kill。

ps -ef|grep 15278
kill -9 15278

pgadmin 可以也可以查看到当前所有连接。

你可能感兴趣的:(postgresql)