pg12新特性-max_wal_senders从max_connections分离

Posted 瀚高实验室

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了pg12新特性-max_wal_senders从max_connections分离相关的知识,希望对你有一定的参考价值。

瀚高数据库
目录
文档用途
详细信息
相关文档

pg12 新特性,max_wal_senders 从 max_connections 分离

详细信息

  1. 官方文档说明
[官方文档](https://www.postgresql.org/docs/12/release-12.html)

Make max_wal_senders not count as part of max_connections (Alexander Kukushkin)
  1. 参数说明

max_connections - 数据库实例允许的最大并发连接数
max_wal_senders - 通过 pg_basebackup 备份或流复制备库和主库同步占用主库的最大并发连接数
superuser_reserved_connections - 给超级用户预留连接数

max_wal_senders 和 superuser_reserved_connections 需要的连接数都从 max_connections 中来。受 max_connections 限制。当连接数占满时,使用 max_wal_senders 连接的流复制、逻辑复制、数据库备份 (pg_basebackup) 都会收到影响。
从 pg12 开始,max_wal_senders 从 max_connections 分离出来,不再受 max_connections 限制,可单独控制,因此很好解决了上面的问题。

  1. 示例
  2. pg11

设置 postgresql.conf 参数,如下:

max_connections = 3
superuser_reserved_connections = 0
max_wal_senders = 2

连接两个会话,占用两个连接。

之后在数据库主机上执行 pg_basebackup 命令备份数据库,如下:

$ pg_basebackup -D backup -Ft -P
pg_basebackup: could not connect to server: FATAL: sorry, too many clients already

pg_basebackup 命令消耗的是 max_wal_senders 设置的连接数,max_wal_senders 连接数是 max_connections 的子集,由于 pg_basebackup 备份数据库需占用两个连接,因此以上报连接数不足。

  1. Pg12

设置 postgresql.conf 参数,如下:

max_connections = 3
superuser_reserved_connections = 0
max_wal_senders = 2

连接两个会话,占用两个连接。

之后在数据库主机上执行 pg_basebackup 命令备份数据库,如下:

$ pg_basebackup -D backup -Ft -P
3963845/3963845 kB (100%), 1/1 tablespace

备份正常,验证了 12 版本 max_wal_senders 参数不受 max_connections 参数影响。

以上是关于pg12新特性-max_wal_senders从max_connections分离的主要内容,如果未能解决你的问题,请参考以下文章

pg12新特性-新增 pg_promote() 函数用于激活备库

pg12新特性-新增 pg_promote() 函数用于激活备库

PostgreSQL 14新特性--减少索引膨胀

最稳定可靠,PostgreSQL 12.1版本正式发布!

PG11新特性解读:新增非空默认值字段不需要重写表-原理

9.23“阿里”技术博文极客必读