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
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
PostgreSQL DBA(38) - PG 12 Connection slots and WAL senders
下载Word文档到电脑,方便收藏和打印~