逻辑复制
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参数恢复成默认值的方法。
设置建议:推荐使用默认值。
设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。