PostgreSQL连接槽位耗尽时,max_connections统计所有客户端连接,其中superuser_reserved_connections(默认3)保留给超级用户;PG16起新增reserved_connections,保留给pg_use_reserved_connections角色成员。普通角色用尽普通槽位后报“remaining connection slots are reserved”,全部占满则报“too many clients already”,均为SQLSTATE 53300。释放槽位需查pg_stat_activity;杀客户端不会立即释放,pg_terminate_backend可立即释放;设置idle_in_transaction_session_timeout可清理空闲事务。提高max_connections需重启,多租户SaaS宜用连接池。
PostgreSQL 16引入了reserved_connections功能,允许为维护任务提供备用连接。max_connections设置控制总连接数,superuser_reserved_connections限制超级用户的连接数。新的reserved_connections设置允许具有pg_use_reserved_connections角色的非超级用户访问保留连接池。通过创建用户并分配角色来进行配置。增加reserved_connections限制了普通用户的可用连接数。总体而言,保留连接提供了一种在不造成严重损害的情况下进行维护的方式。
完成下面两步后,将自动完成登录并继续当前操作。