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。如有錯誤或未考慮完全的地方,望不吝賜教。

推薦閱讀: