数据仓库服务 GAUSSDB(DWS)-复制函数:pg_logical_slot_peek_changes('slot_name', 'LSN', upto_nchanges, 'options_name', 'options_value')

时间:2024-01-26 16:15:18

pg_logical_slot_peek_changes('slot_name', 'LSN', upto_nchanges, 'options_name', 'options_value')

描述:解码并不推进流复制槽(下次解码可以再次获取本次解出的数据)。

参数说明:

  • slot_name

    流复制槽名称。

    取值范围:字符串,不支持除字母,数字,以及(_?-.)以外的字符。

  • LSN

    日志的LSN,表示只解码小于等于此LSN的日志。

    取值范围:字符串(LSN,格式为xlogid/xrecoff),如'1/2AAFC60'。为NULL时表示不对解码截止的日志位置做限制。

  • upto_nchanges

    解码条数(包含begin和commit)。假设一共有三条事务,分别包含3、5、7条记录,如果upto_nchanges为4,那么会解码出前两个事务共8条记录。解码完第二条事务时发现解码条数记录大于等于upto_nchanges,会停止解码。

    取值范围:非负整数。

    LSN和upto_nchanges中任一参数达到限制,解码都会结束。

  • options:此项为可选参数。
    • include-xids

      解码出的data列是否包含xid信息。

      取值范围:0或1,默认值为1。

      • 0:设为0时,解码出的data列不包含xid信息。
      • 1:设为1时,解码出的data列包含xid信息。
    • skip-empty-xacts

      解码时是否忽略空事务信息。

      取值范围:0或1,默认值为0。

      • 0:设为0时,解码时不忽略空事务信息。
      • 1:设为1时,解码时会忽略空事务信息。
    • include-timestamp

      解码信息是否包含commit时间戳。

      取值范围:0或1,默认值为0。

      • 0:设为0时,解码信息不包含commit时间戳。
      • 1:设为1时,解码信息包含commit时间戳。

返回值类型:text, uint, text

备注:函数返回解码结果,每一条解码结果包含三列,对应上述返回值类型,分别表示LSN位置、xid和解码内容。

support.huaweicloud.com/sqlreference-820-dws/dws_06_0061.html