如何处理RDS PostgreSQL实例连接数过多

连接数过多会导致客户端无法连接到RDS PostgreSQL数据库,您可以查看并结束掉不需要的连接。

问题描述

连接数过多导致客户端无法连接到RDS PostgreSQL数据库,并提示以下错误。

FATAL: remaining connection slots are reserved for non-replication superuser connections

解决方案

短期方案

终止不必要的连接。

  1. 访问RDS实例列表,在上方选择地域,然后单击目标实例ID。
  2. 在左侧导航栏中,选择自治服务 > 一键诊断

  3. 单击会话管理页签。

  4. 会话管理页面,查看实例当前的会话信息,并通过结束会话功能终止不必要的会话连接。详情请参见会话管理

    image

长期方案

  • 寻找并优化耗时较长的查询,以减轻系统负载,释放系统资源。详情请参见慢SQL

  • 开启RDS PostgreSQL的连接池功能,该功能可以帮助您有效降低频繁创建和销毁连接对实例性能的影响,控制数据库服务器的负载和资源使用。详情请参见开启或关闭连接池

  • 使用RDS PostgreSQL的数据库代理,该功能旨在简化数据库实例的连接管理,提升系统的高可用性、高性能及可维护性,适用于主实例负载过高、需要读写分离、连接数较多或有隔离需求等场景。详情请参见数据库代理

  • 若您的实例因业务需求连接数已超过当前规格的限制,并且通过连接池和数据库代理无法解决连接问题时,请考虑升级实例规格,以满足更高的连接数需求。

适用于

  • 云数据库RDS PostgreSQL版