postgresql数据库连接数和状态查询操作
查看数据库的当前连接数和状态的几种方式:
只是能看出数据库服务是否正在运行和启动路径
pg_ctlstatus
统计当前postgresql相关进程数,在大体上可以估算数据库的连接数,非精准,但是目前最常用的
ps-ef|greppostgres|wc-l
包含本窗口的所有数据库连接数
SELECTcount(*)FROMpg_stat_activity;
不包含本窗口的所有数据库连接数,其中pg_backend_pid()函数的意思是当前进程相关的后台进程ID
SELECTcount(*)FROMpg_stat_activityWHERENOTpid=pg_backend_pid();
数据库状态查询(类似于
Oracle的selectopen_modefromv$database;
)
selectstatefrompg_stat_activitywheredatname='highgo';
补充:postgres数据库最大连接数
–当前总共正在使用的连接数
postgres=#selectcount(1)frompg_stat_activity;
–显示系统允许的最大连接数
postgres=#showmax_connections;
–显示系统保留的用户数
postgres=#showsuperuser_reserved_connections;
–按照用户分组查看
selectusename,count(*)frompg_stat_activitygroupbyusenameorderbycount(*)desc;
以上为个人经验,希望能给大家一个参考,也希望大家多多支持毛票票。如有错误或未考虑完全的地方,望不吝赐教。