更新时间:2024-11-12 GMT+08:00
分享

逻辑复制

max_changes_in_memory

参数说明:逻辑解码时,单个事务在内存中缓存的DML语句数量上限。

参数类型:整型

参数单位:

取值范围:1~2147483647‬

默认值:4096

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

设置建议:推荐使用默认值。

设置不当的风险与影响:设置过大,解码到大事务会占用较多的动态内存;设置过小,解码效率会降低。

max_cached_tuplebufs

参数说明:逻辑解码时,总元组信息在内存中缓存的数量上限。

参数类型:整型

参数单位:

取值范围:1~2147483647‬

默认值:8192

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

设置建议:推荐使用默认值。建议设置为max_changes_in_memory的两倍以上。

设置不当的风险与影响:设置过大,解码到大事务会占用较多的动态内存;设置过小,解码效率会降低。

logical_decode_options_default

参数说明:逻辑解码任务启动时的全局默认参数。

参数类型:字符串

参数单位:

取值范围:通过逗号分隔的key=value字符串,例如:"parallel-decode-num=4,parallel-queue-size=128,exclude-users=userA,skip-generated-columns=on"。其中空字符串表示采用程序硬编码的默认值。

默认值:""

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

当前支持指定的逻辑解码选项包括:parallel-decode-num, parallel-queue-size, max-txn-in-memory, max-reorderbuffer-in-memory, exclude-users, skip-generated-columns, decode-sequence。选项的详细说明,请参考《特性指南》中“逻辑复制 > 逻辑解码 > 逻辑解码选项”章节。

  • 该参数SIGHUP生效并不会影响已经启动的逻辑解码流程;后续逻辑解码启动将使用该参数设置作为其默认配置,如果解码任务启动命令中有相同配置项,则logical_decode_options_default对应选项的默认配置值不生效,按启动命令中的设定值进行配置。
  • logical_decode_options_default配置的exclude-users选项和逻辑解码启动的exclude-users选项存在差异,不允许指定多个黑名单用户。
  • logical_decode_options_default配置的decode-sequence仅支持设置为false。

设置建议:推荐使用默认值。

设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。

logical_sender_timeout

参数说明:设置本端等待逻辑日志接收端接收日志的最大等待时间。

参数类型:整型

参数单位:ms(毫秒)

取值范围:0 ~ 2147483647‬

默认值:30000(30s)

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

设置建议:推荐使用默认值。

设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。

enable_logicalrepl_xlog_prune

参数说明:设置是否开启逻辑复制槽强制失效功能。当GUC参数enable_logicalrepl_xlog_prune=on、max_size_for_xlog_retention为非零值时,如果max_size_for_xlog_retention大于0且当前逻辑复制槽导致保留日志的段数(每段日志大小为16MB)超过max_size_for_xlog_retention,或者max_size_for_xlog_retention小于0且磁盘使用率达到(-max_size_for_xlog_retention)/100,则该逻辑复制槽会强制失效,restart_lsn被置为7FFFFFFF/FFFFFFFF,该复制槽不阻塞xlog日志的回收。

参数类型:布尔型

参数单位:

取值范围:

  • on:表示开启逻辑复制槽强制失效功能。
  • off:表示关闭逻辑复制槽强制失效功能。

默认值:off

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

设置建议:根据实际业务需要确认是否开启。

设置不当的风险与影响请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。

enable_logical_replication_ddl

参数说明:设置逻辑解码是否支持DDL,是否反解析,是否生成日志。

参数类型:布尔型

参数单位:

取值范围

  • on:逻辑复制可支持DDL,对DDL执行结果进行反解析,并生成DDL的WAL日志。
  • off:不支持DDL,不反解析也不生成WAL日志。

默认值:on

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

设置建议:推荐使用默认值。

设置不当的风险与影响请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。

enable_logical_replication_dictionary

参数说明:表示是否开启创建多版本字典表类型的逻辑复制槽。

参数类型:布尔型

参数单位:无

取值范围

  • on:表示开启。
  • off:表示关闭。

默认值:on

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

设置建议:该参数默认on,如果需要创建online catalog类型的逻辑复制槽时设置为off。

设置不当的风险与影响请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。

当该参数开启时,字典类型的系统表基线化完成后才能创建逻辑复制槽,否则创建失败。

max_keep_log_seg

参数说明:流控参数,逻辑复制在DN本地会解析物理日志转换成逻辑日志,当未被解析的物理日志文件数量大于该参数时会触发限流。

参数类型:整型

参数单位:

取值范围:0 ~ 2147483647。0表示关闭限流功能。

默认值:0

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

设置建议:根据实际业务需求,判断是否需要进行流控。

设置不当的风险与影响设置过大,流控一直不触发。

logical_replication_dictionary_retention_time

参数说明:GS_TXN_LSN_TIME以及数据字典相关系统表数据保留时间。

参数类型:整型

参数单位:d(天)

取值范围:[1, 3650]

默认值:365

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

设置建议:根据实际业务需求进行设置。

设置不当的风险与影响:设置过小,会导致指定位点解码的可选区间过小;设置过大,会影响解码性能。

logical_replica_identity_force

参数说明:控制全局逻辑复制旧元组的记录级别。

参数类型:枚举

参数单位:无

取值范围

  • 'full'表示所有列都记录为副本标识。
  • 'unique'表示副本标识为主键和唯一键。
  • 'default'表示复制副本标识为默认选择(主键或无)。
  • 'nothing'表示没有记录此关系的副本标识。
  • ''‬表示此全局控制参数不生效。

默认值:''

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

如需将已设置为非默认值的logical_replica_identity_force参数重新设置成'',须使用将GUC参数恢复成默认值的方法。

设置建议:推荐使用默认值。

设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。

相关文档