如何减少 Postgres 集群中的 max_connections 值?
How to Reduce max_connections value in Postgres Cluster?
我有三个节点集群。
现在,我想将 max_connections
字段从 300
减少到 100
。我已经更改了 postgresql.conf
文件中主副本和副本的值。我比其他副本节点首先重新启动了我的主节点。 master 中一切正常,但副本自动关闭。
这是错误: hot standby is not possible because max_connections = 100 is a lower setting than on the master server (its value was 300)
我找到了一个需要以 hot_standby=off
.
开头的解决方案
除此之外还有其他解决方案吗?
随着你的改变max_connections
,
停止所有实例,在所有三个节点中更改 max_connections
设置 postgresql.conf
。
- 开始掌握
- 然后开始复制
所以基本上发生的事情是,当我们设置 hot_standby = on
.
时,我们无法启动具有比主值更少 max_connections
值的副本
虽然我已经更新了主服务器的 max_connections
信息没有到达副本端。通常,主服务器的配置更改会通过 wal 日志更改得到通知。出于这个原因,在用较低 max_connections
重新启动主节点后,我们需要等待写入操作,然后更改副本的 max_connecions
.
但我认为这不是一个可行的解决方案。
更好的解决方案:
- 以较低的 max_connections
启动小学
- 用
hot_standby = off
启动副本(如果服务器停留在启动状态,几秒后不要等待启动)
- 关闭副本
- 从
hot_standby = on
开始副本
我有三个节点集群。
现在,我想将 max_connections
字段从 300
减少到 100
。我已经更改了 postgresql.conf
文件中主副本和副本的值。我比其他副本节点首先重新启动了我的主节点。 master 中一切正常,但副本自动关闭。
这是错误: hot standby is not possible because max_connections = 100 is a lower setting than on the master server (its value was 300)
我找到了一个需要以 hot_standby=off
.
除此之外还有其他解决方案吗?
随着你的改变max_connections
,
停止所有实例,在所有三个节点中更改 max_connections
设置 postgresql.conf
。
- 开始掌握
- 然后开始复制
所以基本上发生的事情是,当我们设置 hot_standby = on
.
max_connections
值的副本
虽然我已经更新了主服务器的 max_connections
信息没有到达副本端。通常,主服务器的配置更改会通过 wal 日志更改得到通知。出于这个原因,在用较低 max_connections
重新启动主节点后,我们需要等待写入操作,然后更改副本的 max_connecions
.
但我认为这不是一个可行的解决方案。
更好的解决方案:
- 以较低的 max_connections 启动小学
- 用
hot_standby = off
启动副本(如果服务器停留在启动状态,几秒后不要等待启动) - 关闭副本
- 从
hot_standby = on
开始副本