pg_recvlogical

    其中,逻辑复制槽行为参数为必选参数,必须指定一个。其余参数为可选参数,如不指定,将会读取默认值。

    • –create

      创建一个新的逻辑复制槽。 内部调用了pg_create_logical_replication_slot函数,调用该函数的用户需要具有SYSADMIN权限或具有REPLICATION权限或继承了内置角色gs_role_replication的权限,且此函数目前只支持在主机调用。参考《SQL参考》pg_create_logical_replication_slot函数的说明。

    • –start

      启动该逻辑复制槽的流复制。

    • -d, –dbname=DBNAME

      连接的目标数据库名。

    • -h, –host=HOSTNAME

      连接的目标主机名或socket。

    • -p, –port=PORT

      连接的目标数据库节点的HA端口号。

    • -U, –username=NAME

      连接目标库所使用的用户名。

    • -w, –no-password

    • -W, –password

      使用指定密码进行连接。

    • -F –fsync-interval=INTERVAL

      同步到目标输出文件的间隔时间。

      单位为秒,默认值10。

    • -o, –option=NAME[=VALUE]

      指定向逻辑复制槽的输出插件添加参数。

      参数的取值为:include-xids、skip-empty-xacts、include-timestamp、only-local、force-binary、white-table-list、standby-connection、parallel-decode-num、decode-style、sending-batch、max-txn-in-memory、max-reorderbuffer-in-memory。

      详细请参见《SQL参考》中“ 内置函数 > 系统管理函数 > 逻辑复制函数> pg_logical_slot_peek_changes > options”以及 “应用开发 > openGauss JDBC 编程指南 > 示例:逻辑复制代码示例”章节。 链接:https://docs.opengauss.org/zh/docs/5.0.0/docs/DeveloperGuide/%E7%A4%BA%E4%BE%8B-%E9%80%BB%E8%BE%91%E5%A4%8D%E5%88%B6%E4%BB%A3%E7%A0%81%E7%A4%BA%E4%BE%8B.html

    • -P, –plugin=PLUGIN

      指定使用的逻辑复制槽输出插件。

      默认值为mppdb_decoding。

    • -s, –status-interval=INTERVAL

      发送的心跳包间隔时间。

      单位为秒,默认值10。

    • -I, –startpos=PTR

      当使用已有逻辑复制槽时,指定初始复制的LSN位置。

    • -f, –file=FILE

      设置输出到指定文件。

      直接使用“-”表示输出到stdout。

    • -n, –no-loop

      指定此参数,连接失败后不重试。

    • -v, –verbose

      输出详细信息。

    • -V, –version

      输出版本信息,随后立即退出。

    • -?, –help

      输出帮助信息,随后立即退出。

    • -r, –raw

      在并行解码场景下,设置此参数表示不会将二进制格式或是批量发送的结果转化为文本格式,该参数仅供测试人员测量并行解码性能时使用。设置该参数后,二进制格式或批量发送的解码结果将为不可读的格式。

    1. 创建名为test_slot的逻辑复制槽。

    2. 删除逻辑复制槽。