PostgreSQL数据库最大连接数是系统允许的最大连接数,当数据库并发用户超过该连接数后,会导致新连接无法建立或者连接超时。
1、查看最大连接数
show max_connections;
2、查看当前连接数
select count(*) from pg_stat_activity;
3、查看系统保留的用户数
show superuser_reserved_connections;
此参数为数据库为超级用户预留的连接数,默认值为3。
当数据库的连接数达到(max_connections - superuser_reserved_connections)时,只有超级用户才能建立新的数据库连接,普通用户连接时将会返回错误信息“FATAL: sorry, too many clients already.”或者“FATAL: remaining connection slots are reserved for non-replication superuser connections”,登录数据库查询。
4、查看按用户分组统计连接数
select usename, count(*) from pg_stat_activity group by usename order by count(*) desc;
【优化建议】
-
postgresql的最大连接数合适值used_connections/max_connections ≈ 85%
-
通过postgresql.conf文件修改,需重启服务
-
修改最大连接数
- alter system set max_connections= 数量