You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PostgreSQL配置max_connections不生效,如何正确调高最大连接数

PostgreSQL max_connections配置不生效解决方案

1. 确认修改的是正确的配置文件

首先登录PostgreSQL执行命令查询实际加载的配置文件路径:
show config_file;
不少用户会误改样本文件、其他路径下的旧配置文件,导致修改不会被服务加载。

2. 排查参数被覆盖或格式错误问题

  • 检查目标配置文件中的max_connections参数是否存在重复定义,后定义的参数会覆盖之前的配置
  • 检查max_connections所在行的行首是否存在#注释符,删除注释符配置才会生效
  • 检查数据目录下的postgresql.auto.conf文件是否配置了max_connections,该文件由ALTER SYSTEM命令生成,优先级高于postgresql.conf,如果此处配置为500,修改主配置文件不会生效。可以执行show data_directory;查询数据目录路径。

3. 重启PostgreSQL服务生效配置

max_connections属于重启生效类参数,仅重载配置(pg_ctl reload/select pg_reload_conf();)不会生效,必须完全重启服务。
CentOS系统下执行命令(请替换为你实际的PostgreSQL版本号,例如14版本为postgresql-14):
systemctl restart postgresql-<版本号>
重启完成后执行show max_connections;即可查看生效值。

额外优化建议

  • 不建议设置max_connections=9999,PostgreSQL单个连接会占用约10MB内存,9999个连接仅连接开销就接近100GB,远超你的服务器64GB内存上限,还需要预留资源给Java应用、系统内核,生产环境单实例max_connections建议不超过2000,如有高并发连接需求,建议部署pgbouncer连接池中间件。
  • 你的shared_buffers=6GB配置偏低,同机部署Java应用的场景下,shared_buffers可调整为总内存的1/4~1/3,同时预留足够内存给Java堆使用,避免出现OOM问题。

内容的提问来源于stack exchange,提问作者user2645405

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 13:06:04