PostgreSQL DBA(38) - PG 12 Connection slots and WAL senders

PG 12的新特性Connection slots and WAL senders,详细描述如下:

Move max_wal_senders out of max_connections for connection slot handling.Since its introduction, max_wal_senders is counted as part of max_connections when it comes to define how many connection slots can be used for replication connections with a WAL sender context. This can lead to confusion for some users, as it could be possible to block a base backup or replication from happening because other backend sessions are already taken for other purposes by an application, and superuser-only connection slots are not a correct solution to handle that case.This commit makes max_wal_senders independent of max_connections for its handling of PGPROC entries in ProcGlobal, meaning that connection slots for WAL senders are handled using their own free queue, like autovacuum workers and bgworkers.

在PostgreSQL中,如果客户端连接数超出max_connections参数设定的大小,会拒绝客户端连接.


psql: FATAL:  sorry, too many clients already

为了应对这种情况,PG 11或之前的版本提供了superuser_reserved_connections参数,为超级用户(管理员)提供了连接的后门,但只是面向超级用户而已,并没有为复制用户提供后门,如果超出最大连接数,那么复制需要连接时会出错,导致HA环境的破坏.
为了确保HA环境的”HA”,在PG 12中,把复制连接所需要的资源单独进行管理,不再与普通的客户端连接(max_connections控制)共享同一个Array(ProcGlobal).同时,这个特性要求备机的max_wal_senders不能小于主机的max_wal_senders,否则可能会导致故障.

参考资料
Postgres 12 highlight - Connection slots and WAL senders

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/6906/viewspace-2647982/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/6906/viewspace-2647982/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值