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

如何限制Postgres指定用户组的最大并发连接数?

Postgres 用户级连接数限制方案

核心结论

角色连接限制继承完全是正确的方案,刚好匹配你的需求场景。

具体实现步骤

  • 创建一个受限角色,设置全局连接数上限为2:
    CREATE ROLE limited_conn_role WITH CONNECTION LIMIT 2;
    
  • 将user_a、user_b、user_c添加为该角色的成员,让他们继承连接限制:
    GRANT limited_conn_role TO user_a, user_b, user_c;
    
  • 单独配置user_z的连接数(如果需要显式指定上限):
    ALTER ROLE user_z WITH CONNECTION LIMIT 100;
    

关键注意事项

  • 当用户属于多个角色时,Postgres会取所有角色中最严格的连接限制(即数值最小的上限),因此要确保user_a等用户没有单独设置更宽松的限制。如果之前有设置,可执行以下命令清除:
    ALTER ROLE user_a WITH CONNECTION LIMIT -1; -- -1表示无限制,让继承的角色限制生效
    
  • 数据库总连接数max_connections是全局上限,user_z的连接数仍受此值约束,需确保该参数设置足够容纳user_z的100+连接需求。

内容的提问来源于stack exchange,提问作者Aaron Rafael Tello-Wharton

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 15:57:04