postgresql查看用户连接以及杀死连接的会话
2017年10月11日 15:21:18 DB_su 阅读数 8908更多
分类专栏: postgresql
版权声明:本文为博主原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/DB_su/article/details/78204101
连接数大小参数:
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 可以也可以查看到当前所有连接。
原文地址:https://www.cnblogs.com/jinanxiaolaohu/p/11417787.html