[转帖]postgresql查看用户连接以及杀死连接的会话

Posted jinanxiaolaohu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[转帖]postgresql查看用户连接以及杀死连接的会话相关的知识,希望对你有一定的参考价值。

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



(2 rows)

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

ps -ef|grep 15278 
kill -9 15278

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

以上是关于[转帖]postgresql查看用户连接以及杀死连接的会话的主要内容,如果未能解决你的问题,请参考以下文章

PostgreSQL JDBC 套接字超时不会杀死后台进程

[转帖]PostgreSQL ident和peer基于操作系统用户的认证

如何杀死远程桌面连接上的进程? [关闭]

[转帖]关于PostgreSQL里面的autovacuum服务的性能问题

ubuntu上安装postgres以及在远程连接上的坑

[转帖]linux 清空history以及记录原理