连接数大小参数:
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 可以也可以查看到当前所有连接。