浅测 sync_config_strategy 参数

2024年 4月 2日 62.0k 0

1. 参数说明

主机和备机、备机和级联备之间配置文件的同步策略。

该参数属于POSTMASTER类型参数,请参考表GUC参数分类中对应设置方法进行设置。

取值范围: 枚举类型

  • all_node: 主机配置为all_node时,表示允许主机向所有备机主动同步配置文件;备机配置为all_node时,表示允许当前备机向其主机发送同步请求,允许当前备机向其所有级联备主动同步配置文件;级联备配置为all_node时,表示允许当前级联备向其备机发送同步请求。
  • only_sync_node: 主机配置为only_sync_node时,表示仅允许主机向所有同步备机主动同步配置文件;备机配置为only_sync_node时,表示允许当前备机向其主机发送同步请求,不允许当前备机向其所有级联备主动同步配置文件;级联备配置为only_sync_node时,表示允许当前级联备向其备机发送同步请求。
  • none_node: 主机配置为none_node时,表示不允许主机向任何备机主动同步配置文件;备机配置为none_node时,表示不允许当前备机向其主机发送同步请求,不允许当前备机向其所有级联备主动同步配置文件;级联备配置为none_node时,表示不允许当前级联备向其备机发送同步请求。

默认值: all_node

2. 测试环境

一主三备

初始配置:

openGauss=# show synchronous_standby_names ;
synchronous_standby_names
---------------------------
FIRST 1(dn_6002,dn_6003)
(1 row)

openGauss=# show sync_config_strategy ;
sync_config_strategy
----------------------
all_node
(1 row)

openGauss=# show shared_buffers ;
shared_buffers
----------------
2GB
(1 row)

3. 测试过程

3.1 sync_config_strategy=all_node

主库执行修改参数shared_buffers

gs_guc reload -N all -I all -c "shared_buffers=3GB "

重启集群后,查看参数

shared_buffers
----------------
3GB
(1 row)

所有节点参数均修改

3.2 sync_config_strategy =only_sync_node

主库修改参数

NOTICE: please restart the database for the POSTMASTER level parameter to take effect.
ALTER SYSTEM SET

重启主库后,主库配置为

openGauss=# show sync_config_strategy ;
sync_config_strategy
----------------------
only_sync_node
(1 row)

备库配置均为

openGauss=# show sync_config_strategy ;
sync_config_strategy
----------------------
all_node
(1 row)

3.2.1 主库使用-N all 修改参数

gs_guc reload -N all -I all -c "shared_buffers=3GB "

主备库参数均为

openGauss=# show shared_buffers ;
shared_buffers
----------------
3GB
(1 row)

3.2.2 主库不使用-N all 修改参数

主库修改参数shared_buffers

openGauss=# alter system set shared_buffers = '2GB';

gs_guc reload -I all -c "shared_buffers=2GB "

dn_6001,dn_6002,dn_6003

openGauss=# show shared_buffers ;
shared_buffers
----------------
2GB
(1 row)

dn_6004未修改成功

openGauss=# show shared_buffers ;
shared_buffers
----------------
3GB
(1 row)

若full build dn_6004,则dn_6004参数和主库相同

4. 结论

若主节点配置为sync_config_strategy =only_sync_node,

  1. 使用gs_guc reload -N all -I all -c 修改参数,会修改所有节点
  2. 使用alter system set 或者gs_guc reload -I all -c方式修改,
    则sync_config_strategy生效,不写在synchronous_standby_names里的节点不会修改

相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论