云数据库 GAUSSDB-逻辑解码选项:通用选项(串行解码和并行解码均可配置,但可能无效,请参考相关选项详细说明)
通用选项(串行解码和并行解码均可配置,但可能无效,请参考相关选项详细说明)
- include-xids:
取值范围:0或1,默认值为1。
- 0:设为0时,解码出的data列不包含xid信息。
- 1:设为1时,解码出的data列包含xid信息。
- skip-empty-xacts:
取值范围:0或1,默认值为0。
- 0:设为0时,解码时不忽略空事务信息。
- 1:设为1时,解码时会忽略空事务信息。
- include-timestamp:
取值范围:0或1,默认值为0。
- 0:设为0时,解码信息不包含commit时间戳。
- 1:设为1时,解码信息包含commit时间戳。
- only-local:
取值范围:0或1,默认值为1。
- 0:设为0时,解码非本地日志和本地日志。
- 1:设为1时,仅解码本地日志。
- white-table-list:
取值范围:包含白名单中表名的字符串,不同的表以','为分隔符进行隔离;使用'*'来模糊匹配所有情况;schema名和表名间以'.'分隔,不允许存在任意空白符。例如:
select * from pg_logical_slot_peek_changes('slot1', NULL, 4096, 'white-table-list', 'public.t1,public.t2,*.t3,my_schema.*');
- max-txn-in-memory:
内存管控参数,单位为MB,单个事务占用内存大于该值即进行落盘。
取值范围:0~100的整型,默认值为0,即不开启此种管控。
- max-reorderbuffer-in-memory
内存管控参数,单位为GB,拼接-发送线程中正在拼接的事务总内存(包含缓存)大于该值则对当前解码事务进行落盘。
取值范围:0~100的整型,默认值为0,即不开启此种管控。
- include-user:
事务的BEGIN逻辑日志是否输出事务的用户名。事务的用户名特指授权用户——执行事务对应会话的登录用户,它在事务的整个执行过程中不会发生变化。
取值范围:0或1,默认值为0。
- 0:设为0时,事物的BEGIN逻辑日志不输出事务的用户名。
- 1:设为1时,事物的BEGIN逻辑日志输出事务的用户名。
- exclude-userids:
取值范围:字符串类型,指定黑名单用户的OID,多个OID通过','分隔,不校验用户OID是否存在。
- exclude-users:
取值范围:字符串类型,指定黑名单用户名,通过','分隔,不校验用户名是否存在。
- dynamic-resolution:
取值范围:0或1,默认值为1。
- 0:设为0时,当解码观测到黑名单exclude-users中用户不存在时将会报错并退出逻辑解码。
- 1:设为1时,当解码观测到黑名单exclude-users中用户不存在时继续解码。
- standby-connection:
取值范围:bool型,默认值为false。
- true:设为true时,仅允许连接备机解码,连接主机解码时会报错退出。
- false:设为false时,不做限制,允许连接主机或备机解码。
- sender-timeout:
仅流式解码设置,内核与客户端的心跳超时阈值。当该时间段内没有收到客户端任何消息时,逻辑解码将主动停止,并断开和客户端的连接。单位为毫秒(ms)。
取值范围:0~2147483647的int型,默认值取决于GUC参数logical_sender_timeout的配置值。
- parallel-decode-num:
仅流式解码设置有效,并行解码的Decoder线程数量;系统函数调用场景下此选项无效,仅校验取值范围。
取值范围:取1表示按照原有的串行逻辑进行解码,取其余值表示开启并行解码,默认值为1。
当parallel-decode-num不配置(即为默认值1)或显式配置为1时,下述“并行解码”中的选项不可配置。