一、最大连接数查看
postgresql数据库最大连接数是系统允许的最大连接数,当数据库并发用户超过该连接数后,会导致新连接无法建立或者连接超时。
最大连接数max_connections默认值为100。
当前总共正在使用的连接数
select count(1) from pg_stat_activity;
显示系统允许的最大连接数,此数值包含为超级用户预留的连接数
show max_connections;
显示系统保留的用户数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”,登录数据库查询。
show superuser_reserved_connections ;
按照用户分组查看
select usename, count() from pg_stat_activity group by usename order by count() desc;
二、最大连接数修改
通过postgresql.conf文件来修改postgresql的最大连接数
vi /var/lib/pgsql/11/data/postgresql.conf
修改完要重启postgresql
# systemctl restart postgresql-11.service
三、连接数优化
postgresql的最大连接数合适值
used_connections/max_connections在85%左右
最大连接数设置上限是根据机器的配置相关,良好硬件上的 PostgreSQL 一次可以支持几百个连接。如果先设置数千个,考虑使用连接池软件来减少连接开销。客户应该是通过应用程序访问的数据库,应用程序到数据库的访问连接数,很多都可以从连接池中利用连接。
连接池方案可以参考pg+pgpool
如下,连接池配置4*1000
版权归原作者 架构艺术AA 所有, 如有侵权,请联系我们删除。