更新时间:2024-05-07 GMT+08:00

主服务器

synchronous_standby_names

参数说明:潜在同步复制的备机名称列表,每个名称用逗号分隔。

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

  • 当前连接的同步备机是列表中的第一个名称。如果当前同步备机失去连接,则它会立即更换下一个优先级更高的备机,并将此备机的名称放入列表中。
  • 备机名称可以通过设置环境变量PGAPPNAME指定。
取值范围:字符串。当取值为*,表示匹配任意提供同步复制的备机名称。支持按如下格式配置:
  • ANY num_sync (standby_name [, ...])
  • [FIRST] num_sync (standby_name [, ...])
  • standby_name [, ...]
    • 其中num_sync是事务需要等待其回复的同步复制的备机的数量,standby_name是备机的名称,FIRST以及ANY指定从所列服务器中选取同步复制的备机的策略。
    • ANY N (dn_instanceId1, dn_instanceId2,...)表示在括号内任选N个主机名称作为同步复制的备机名称列表。例如,ANY 1(dn_instanceId1, dn_instanceId2)表示在dn_instanceId1和dn_instanceId2中任选一个作为同步复制的备机名称。
    • FIRST N (dn_instanceId1, dn_instanceId2,...)表示在括号内按出现顺序的先后作为优先级选择前N个主机名称作为同步复制的备机名称列表。例如,FIRST 1 (dn_instanceId1, dn_instanceId2)表示选择dn_instanceId1作为同步复制的备机名称。
    • dn_instanceId1, dn_instanceId2,...和FIRST 1 (dn_instanceId1, dn_instanceId2,...)具有的含义相同。

若使用gs_guc工具设置该参数,需要如下设置:

gs_guc reload -Z datanode -N @NODE_NAME@ -D @DN_PATH@ -c "synchronous_standby_names='ANY NODE 1(dn_instanceId1, dn_instanceId2)'";

或者:

gs_guc reload -Z datanode -N @NODE_NAME@ -D @DN_PATH@ -c "synchronous_standby_names='ANY 1(AZ1, AZ2)'";

默认值:*

most_available_sync

参数说明:指定在备机同步失败时,是否阻塞主机。

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

取值范围:布尔型

  • on表示在备机同步失败时,不阻塞主机。
  • off表示在备机同步失败时,阻塞主机。

默认值:off

enable_stream_replication

参数说明:控制主备、主从是否进行数据和日志同步。

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

  • 此参数属于性能测试参数,用于测试带有DN备机和不带DN备机的性能参数。关闭参数后,不能进行切换、故障等异常场景测试,否则会出现主备从不一致的情况。
  • 此参数属于受控参数,不建议正常业务场景下关闭此参数。

取值范围:布尔型

  • on表示打开主备、主从同步。
  • off表示关闭主备、主从同步。

默认值:on

enable_mix_replication

参数说明:控制主备、主从之间WAL日志及数据复制的方式。

该参数属于INTERNAL类型参数,默认值为off,不允许外部修改。

此参数目前不允许正常业务场景下改变其值,即默认关闭WAL日志、数据页混合复制模式。

取值范围:布尔型

  • on表示打开WAL日志、数据页混合复制模式。
  • off表示关闭WAL日志、数据页混合复制模式。

默认值:off

vacuum_defer_cleanup_age

参数说明:指定VACUUM使用的事务数,VACUUM会延迟清除无效的行存表记录,延迟的事务个数通过vacuum_defer_cleanup_age进行设置。即VACUUM和VACUUM FULL操作不会立即清理刚刚被删除元组。

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

取值范围:整型,0~1000000,值为0表示不延迟。

默认值:0

data_replicate_buffer_size

参数说明:发送端与接收端传递数据页时,队列占用内存的大小。此参数会影响主备之间复制的缓冲大小。

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

取值范围:整型,4096~1072693248,单位为KB。

默认值:128MB(即131072KB)

walsender_max_send_size

参数说明:设置主机端日志或数据发送缓冲区的大小。

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

取值范围:整型,8~1048575‬,单位为KB。

默认值:8MB(即8192KB)

enable_data_replicate

参数说明:当数据库在数据导入行存表时,主机与备机的数据同步方式可以进行选择。

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

取值范围:布尔型

  • on表示导入数据行存表时主备数据采用数据页的方式进行同步。当replication_type参数为1时,不允许设置为on,如果此时用guc工具设置成on,会强制改为off。
  • off表示导入数据行存表时主备数据采用日志(Xlog)方式进行同步。

默认值:off

ha_module_debug

参数说明:用于查看数据复制时具体数据块的复制状态日志。

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

取值范围:布尔型

  • on表示日志中将打印数据复制时每个数据块的状态。
  • off表示日志中不打印数据复制时每个数据块的状态。

默认值:off

enable_incremental_catchup

参数说明:控制主备之间数据追赶(catchup)的方式。

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

取值范围:布尔型

  • on表示备机catchup时用增量catchup方式,即从备本地数据文件扫描获得主备差异数据文件列表,进行主备之间的catchup。
  • off表示备机catchup时用全量catchup方式,即从主机本地所有数据文件扫描获得主备差异数据文件列表,进行主备之间的catchup。

默认值:on

wait_dummy_time

参数说明:同时控制增量数据追赶(catchup)时,集群主备按顺序启动时等待备启动的最长时间以及等待备发回扫描列表的最长时间。

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

取值范围:整型,范围1~2147483647‬,单位为秒

默认值:300

单位只能设置为秒。

catchup2normal_wait_time

参数说明:单同步备机情况下,控制备机数据追赶(catchup)阻塞主机的最长时间。

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

取值范围:整型,范围-1~10000,单位为毫秒。

  • -1表示主机阻塞直到备机数据追赶完成。
  • 0表示备机数据追赶时始终不阻塞主机。
  • 其余值表示备机数据追赶时阻塞主机的最长时间。例如,取值5000,表示当备机数据追赶完成时间还剩5s时,阻塞主机等待其完成。

默认值:-1

sync_config_strategy

参数说明:主机和备机、备机和级联备之间配置文件的同步策略。

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

取值范围:枚举类型

  • 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

注意在低于503.0.0版本升级到503.0.0版本后配置了该参数,回滚后该参数将无法识别。请勿在升级503.0.0版本期间配置该参数。

hadr_recovery_time_target

参数说明:在流式容灾模式下设置hadr_recovery_time_target能够让备数据库实例完成日志写入和回放。

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

取值范围:整型,0~3600 (秒)

0是指不开启日志流控,1~3600是指备机能够在hadr_recovery_time_target时间内完成日志的写入和回放,可以保证主数据库实例与备数据库实例切换时能够在hadr_recovery_time_target秒完成日志写入和回放,保证备数据库实例能够快速升主。hadr_recovery_time_target设置时间过小会影响主机的性能,设置过大会失去流控效果。

默认值:60(金融版(数据计算型))

hadr_recovery_point_target

参数说明:在流式容灾模式下设置hadr_recovery_point_target能够让备数据库实例完成日志刷盘的rpo时间。

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

取值范围:整型,0~3600 (秒)

0是指不开启日志流控,1~3600是指备机能够在hadr_recovery_point_target时间内完成日志的刷盘,可以保证主数据库实例与备数据库实例切换时日志差距能够在hadr_recovery_point_target秒内,保障备数据库实例升主日志量。hadr_recovery_point_target设置时间过小会影响主机的性能,设置过大会失去流控效果。

默认值:10(金融版(数据计算型))

hadr_super_user_record_path

参数说明:该参数为流式异地容灾参数,表示备集群中hadr_disaster用户的加密文件存放路径。该参数属于SIGHUP类型参数,请参考表2中方式对应设置方法进行设置。

修改建议:由流式容灾密码传递工具自动设置,不需要用户手动添加。

取值范围:字符串

默认值:NULL

check_sync_standby

参数说明:打开备机检查开关,主备场景下配置了正确的synchronous_standby_names参数后,当同步备故障时,主机写业务直接报错写失败。该参数属于USERSET类型参数,请参考表2中对应设置方法进行设置。

取值范围:on/off

  • on表示开启备机检查。
  • off表示关闭备机检查。

默认值:off

  • 该参数不支持在job work和自治事务中同步,有可能导致检查不生效。
  • 若指定用户或session中未设置备机检查,开启强同步提交模式下备机故障,执行一个表的写操作会导致另一个用户或session中的同一个表的查询hang,此时需要备机恢复或者手动terminate hang住的客户端。
  • 不支持非写操作中触发写日志的场景中(vacuum analyze,gs_clean等)开启备机检查开关。若备机不满足同步备配置,则该场景会导致业务hang,需要手动terminate。