今天访问 postgresql数据库时,突然报错说是最大连接数已满。百度后使用下列命令查看:
show max_connections; -- 查看最大连接数
SELECT COUNT(*) from pg_stat_activity; -- 当前连接数
select COUNT(*) from pg_stat_activity where state = 'idle'; -- 查看过期连接
select min_val, max_val from pg_settings where name='max_connections';
show idle_session_timeout; --查看空闲连接超时时间
默认的最在连接数是100,随后在测试时随着访问的增加连接数也一直在增加,有没有把空闲连接关闭的参数呢?接着百度看到说14版本添加了一个参数超过规定时间后关闭空闲连接。idle_session_timeout:默认值为0,表示禁用,其单位是毫秒。
刚好我用的是由14版本,最后在安装目录下找到配置文件夹 postgresql.conf
修改上面的参数。重启postgresql数据库命令:systemctl restart postgresql-14
。地段时间使用上面的命令查询当前连接数已经降下来了。
来自为知笔记(Wiz)
标签:postgresql,--,max,数据库,连接数,pg,连接 From: https://www.cnblogs.com/baiyifengyun/p/16972798.html