postgresql數據庫連接數和狀態查詢操作
查看數據庫的當前連接數和狀態的幾種方式:
隻是能看出數據庫服務是否正在運行和啟動路徑
pg_ctl status
統計當前postgresql相關進程數,在大體上可以估算數據庫的連接數,非精準,但是目前最常用的
ps -ef |grep postgres |wc -l
包含本窗口的所有數據庫連接數
SELECT count(*) FROM pg_stat_activity;
不包含本窗口的所有數據庫連接數,其中pg_backend_pid()函數的意思是當前進程相關的後臺進程ID
SELECT count(*) FROM pg_stat_activity WHERE NOT pid=pg_backend_pid();
數據庫狀態查詢(類似於
Oracle 的 select open_mode from v$database;
)
select state from pg_stat_activity where datname = 'highgo';
補充:postgres數據庫最大連接數
–當前總共正在使用的連接數
postgres=# select count(1) from pg_stat_activity;
–顯示系統允許的最大連接數
postgres=# show max_connections;
–顯示系統保留的用戶數
postgres=# show superuser_reserved_connections ;
–按照用戶分組查看
select usename, count(*) from pg_stat_activity group by usename order by count(*) desc;
以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。如有錯誤或未考慮完全的地方,望不吝賜教。
推薦閱讀:
- postgres 連接數查看與設置操作
- Postgresql 數據庫權限功能的使用總結
- PostgreSQL 慢查詢SQL跟蹤操作
- Postgresql – 查看鎖表信息的實現
- 解決postgresql 數據庫 update更新慢的原因