postgressql提示sorry, too many clients的解决办法

简介: 本地测试PgSQL集群时频现“too many clients”错误,主因是应用端连接池(各设100)叠加超出了PostgreSQL的max_connections限制(默认100)。PgSQL不会自动回收空闲连接,需靠连接池或超时机制管理。附实用命令:SHOW max_connections;SELECT count(*) FROM pg_stat_activity;SHOW port;及OS级ulimit和端口范围检查。

最近在本地测试一个集群系统,用的pgsql,总是提示sorry, too many clients,明明就几个人再用,默认的postgresql.conf 中的 max_connections已经设为100了,后来排查发现每个集群的sql字符串的连接池都设置为100,导致超过了sql实例的max_connections配置,所以报错,那为什么pgsql不自动回收这些进程呢?

顺便贴一下查看连接和配置连接数的教程,方便后续查看

postgres标准全称PostgreSQL,而psql通常指其命令行客户端。

1. 核心限制参数

PostgreSQL 的连接数限制主要由配置文件 postgresql.conf 中的 max_connections 参数决定。

默认值:通常为 100。
理论上限:受操作系统资源(如文件描述符限制 ulimit)和内存大小限制。通常建议通过 连接池(如 PgBouncer) 来处理成千上万的并发请求,而不是直接调大该参数。

2. 如何查询当前端口和连接限制

可以通过 SQL 命令行工具(如 psql)执行以下指令来获取生产环境下的实时配置:

A. 查看最大连接数限制

SHOW max_connections;

B. 查看当前已使用的连接数

SELECT count(*) FROM pg_stat_activity;

C. 查看服务监听的端口

SHOW port;

D. 获取详细的连接槽位信息(按用户/数据库统计)

SELECT datname, usename, count(*) 
FROM pg_stat_activity 
GROUP BY datname, usename;

3. 操作系统层面的限制

即便 PostgreSQL 设置了很高的 max_connections,如果操作系统层面的端口范围或文件句柄不足,也会导致连接失败。

可用端口范围(针对客户端连接):
在 Linux 上查看:

cat /proc/sys/net/ipv4/ip_local_port_range

最大文件打开数:
查看当前进程限制:

ulimit -n

4. 如何修改限制

若需增加连接上限,请遵循以下步骤:

找到配置文件(一般是 postgresql.conf ):SHOW config_file;。
修改 max_connections = 500(根据服务器内存调整),每个连接大约需要 4MB 到 10MB 的内存(这取决于 PostgreSQL 的版本和配置)例如,在 PostgreSQL 12 中,每个连接大约需要 4MB 的内存。如果你的服务器有足够的 RAM,增加 max_connections 是安全的
必须重启服务 才能生效

sudo systemctl restart postgresql。

问题:执行”SHOW config_file;“,报错信息“SQL Error [42501]: ERROR: must be sysdba or a member of pg_read_all_settings to examine "config_file"”。

“最小权限原则”更安全,可以尝试如下操作。

-- 使用超级用户(通常是 postgres)执行

GRANT pg_read_all_settings TO 你的用户名;

提示:如果你的并发需求超过 500-1000,强烈建议在应用和数据库之间部署 PgBouncer。它能显著降低端口压力并提高资源利用率。你可以通过 PostgreSQL 官方文档 了解更多性能调优细节。

相关文章
|
25天前
|
弹性计算 人工智能 Linux
OpenClaw是什么?OpenClaw入门详解、阿里云ECS/本地部署及免费大模型配置教程
OpenClaw(社区俗称Clawdbot,龙虾)是一款基于MIT开源协议开发的自托管AI智能体执行网关,核心价值在于打破传统AI“只会说不会做”的局限,连接大语言模型与设备系统、工具应用,将自然语言指令转化为可落地的实操动作,实现从需求下达、任务拆解到执行反馈的全流程闭环。与单纯输出文字的对话式AI不同,OpenClaw可直接操控终端、管理文件、自动化浏览器操作,兼顾数据隐私与执行效率,无需专业技术背景,零基础用户也能快速部署使用。
1346 5
|
22天前
|
Web App开发 安全 数据挖掘
TA446 组织利用 DarkSword 漏洞套件针对 iOS 的定向钓鱼攻击研究
2026年3月,俄APT组织TA446利用泄露的DarkSword iOS漏洞套件,通过伪造大西洋理事会邮件实施定向钓鱼攻击。该攻击依托PAC绕过、内核提权等0day链,实现无文件、低交互的Safari远程入侵,窃取iCloud凭证、钥匙串等敏感数据,并部署GHOSTBLADE与MAYBEROBOT载荷。研究表明,国家级漏洞工具公开化正加速高端移动威胁平民化,亟需构建终端加固、流量检测与行为监控相结合的纵深防御体系。(239字)
320 7
|
24天前
|
人工智能 机器人 网络安全
零基础必看!阿里云部署OpenClaw保姆级图文教程+钉钉接入+常见避坑问题解答
在2026年企业数字化与AI自动化深度融合的浪潮中,OpenClaw(原Clawdbot,曾用名Moltbot)凭借开源特性、灵活的插件生态与强大的任务执行能力,成为企业办公、团队协作与个人效率提升的核心工具。这款开源AI智能体框架,截至2026年3月,在GitHub平台星标数量已突破22万,Fork数超4.2万,支持通过自然语言完成文件管理、信息检索、流程自动化、多端协同等多样化任务。而钉钉作为国内领先的企业级协同办公平台,覆盖超5000万企业组织,具备消息触达、群组管理、审批流、钉盘存储、机器人集成等核心优势,是企业办公、团队协作、内部沟通的首选载体。
696 3
|
20天前
|
Linux API 网络安全
阿里云+本地系统部署OpenClaw+Cookie全自动抓取公众号文章教程:大模型千问/Coding Plan配置指南
在日常信息获取、内容运营与数据监测场景中,自动抓取指定微信公众号最新文章是高频刚需。传统方式依赖搜狗搜索接口、第三方采集工具,稳定性差、易失效、操作繁琐。OpenClaw作为2026年主流开源自动化执行框架,可借助微信公众平台Cookie实现稳定、低风控、可持续的公众号文章采集,全程只需一次手动登录,后续自动运行。本文将完整讲解OpenClaw基于Cookie机制抓取公众号文章的核心原理、操作步骤,并补充2026年4月阿里云轻量服务器部署、本地MacOS/Linux/Windows11部署流程、阿里云千问大模型API与免费Coding Plan API配置方法,以及部署与运行中的常见问题解答,
687 4
|
24天前
|
机器学习/深度学习 人工智能 缓存
一篇新闻太长懒得看?我用 Python + 深度学习,3分钟教你做一个“自动摘要神器”
一篇新闻太长懒得看?我用 Python + 深度学习,3分钟教你做一个“自动摘要神器”
127 8
|
4天前
|
人工智能 架构师
Qoder Together 郑州站来啦!解锁企业级 AI Coding 落地玩法
4月22日14:00-17:00,郑州阿里中心举办AI Coding实战沙龙!聚焦Qoder产品解析、企业级方案及UU跑腿落地实践,架构师现场带练。名额有限,速报名→ https://huodongxing.com/event/4855877137411
71 4
|
7天前
|
弹性计算 人工智能 供应链
阿里云企业用户专享:2核4G5M云服务器ECS 199元/年,新购续费同价攻略!
阿里云推出企业专享ECS套餐:2核4G+5M带宽+80G ESSD云盘,仅199元/年,新购续费同价,打破“次年涨价”行业惯例。配置均衡、稳定高效,适配建站、电商、ERP等多场景,支持在线升级与全球节点部署,助力中小企业长期低成本上云。
99 3
|
1月前
|
Arthas 人工智能 Java
我们做了比你更懂 Java 的 AI-Agent -- Arthas Agent
Arthas Agent 是基于阿里开源Java诊断工具Arthas的AI智能助手,支持自然语言提问,自动匹配排障技能、生成安全可控命令、循证推进并输出结构化报告,大幅降低线上问题定位门槛。
1073 64
我们做了比你更懂 Java 的 AI-Agent -- Arthas Agent
|
16天前
|
自然语言处理 运维 安全
2026支持站群集约化的cms建站系统分享
本文介绍5款原生支持站群集约化的CMS系统:PageAdmin(政务/高校首选,信创适配强)、Drupal(开源灵活,多语言佳)、AEM(高端DXP,适合跨国集团)、PhpCMS(国产轻量,百站内适用)和禅知(MVC架构,专注外贸多语言)。聚焦统一平台、安全、管理与服务,助力降本增效、提升体验。
141 5