Answers:
以下查询非常有帮助
select * from
(select count(*) used from pg_stat_activity) q1,
(select setting::int res_for_super from pg_settings where name=$$superuser_reserved_connections$$) q2,
(select setting::int max_conn from pg_settings where name=$$max_connections$$) q3;
他们肯定会给出不同的结果。更好的是
select count(*) from pg_stat_activity;
这是因为它包括与WAL发送者进程的连接,这些连接被视为常规连接并计入max_connections
。
TCP连接数将为您提供帮助。请记住,它不适用于特定的数据库
netstat -a -n | find /c "127.0.0.1:13306"
通过查看源代码,似乎pg_stat_database查询为您提供了所有用户与当前数据库的连接数。另一方面,pg_stat_activity查询仅提供查询用户与当前数据库的连接数。