查看数据库的当前连接数和状态的几种方式:
只是能看出数据库服务是否正在运行和启动路径
1 | pg_ctl status |
统计当前postgresql相关进程数,在大体上可以估算数据库的连接数,非精准,但是目前最常用的
1 | ps -ef |grep postgres |wc -l |
包含本窗口的所有数据库连接数
1 | SELECT count (*) FROM pg_stat_activity; |
不包含本窗口的所有数据库连接数,其中pg_backend_pid()函数的意思是当前进程相关的后台进程ID
1 | SELECT count (*) FROM pg_stat_activity WHERE NOT pid=pg_backend_pid(); |
数据库状态查询(类似于
Oracle 的 select open_mode from v$database;
)
1 | select state from pg_stat_activity where datname = 'highgo' ; |
补充:postgres数据库最大连接数
?当前总共正在使用的连接数
1 | postgres=# select count (1) from pg_stat_activity; |
?显示系统允许的最大连接数
1 | postgres=# show max_connections; |
?显示系统保留的用户数
1 | postgres=# show superuser_reserved_connections ; |
?按照用户分组查看
1 | select usename, count (*) from pg_stat_activity group by usename order by count (*) desc ; |
以上为个人经验,希望能给大家一个参考,也希望大家多多支持自学编程网。如有错误或未考虑完全的地方,望不吝赐教。
- 本文固定链接: https://zxbcw.cn/post/205135/
- 转载请注明:必须在正文中标注并保留原文链接
- QQ群: PHP高手阵营官方总群(344148542)
- QQ群: Yii2.0开发(304864863)