正确的查询来获取PostgreSQL数据库中的当前连接数
以下哪两项更准确?
select numbackends from pg_stat_database; select count(*) from pg_stat_activity;
这两个要求是不相同的。 第一个的等效版本是:
SELECT sum(numbackends) FROM pg_stat_database;
在这种情况下,我认为这个版本比第二个版本要快一点,因为它的行数要less一些。 但是你不可能衡量一个区别。
两个查询都基于完全相同的数据,因此它们同样准确。
没有TCP连接将帮助你。 请记住,它不是针对特定的数据库
netstat -a -n | find / c“127.0.0.1:13306”
从查看源代码看来,pg_stat_database查询似乎为您提供了所有用户的当前数据库连接数。 另一方面,pg_stat_activity查询只给查询用户提供当前数据库的连接数。