云数据库 GaussDB-使用SQL函数接口进行逻辑解码:操作步骤

时间:2023-11-01 16:22:02

操作步骤

  1. 以数据库安装用户登录GaussDB数据库主节点。
  2. 使用如下命令通过连接默认数据库postgres。

    gsql -d postgres -p 16000 -r

    其中,16000为数据库端口号,用户可根据实际情况替换。

  3. 创建名称为slot1的逻辑复制槽。

    12345
    openGauss=# SELECT * FROM pg_create_logical_replication_slot('slot1', 'mppdb_decoding');slotname | xlog_position----------+---------------slot1    | 0/601C150(1 row)

  4. 在数据库中创建表t,并向表t中插入数据。

    12
    openGauss=# CREATE TABLE t(a int PRIMARY KEY, b int);openGauss=# INSERT INTO t VALUES(3,3);

  5. 读取复制槽slot1解码结果,解码条数为4096。

     1 2 3 4 5 6 7 8 910
    openGauss=# SELECT * FROM pg_logical_slot_peek_changes('slot1', NULL, 4096);location  |  xid  | data                                                                                         -----------+-------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 0/601C188 | 1010023 | BEGIN 1010023 0/601ED60 | 1010023 | COMMIT 1010023 CSN 1010022 0/601ED60 | 1010024 | BEGIN 1010024 0/601ED60 | 1010024 | {"table_name":"public.t","op_type":"INSERT","columns_name":["a","b"],"columns_type":["integer","integer"],"columns_val":["3","3"],"old_keys_name":[],"old_keys_type":[],"old_keys_val":[]} 0/601EED8 | 1010024 | COMMIT 1010024 CSN 1010023(5 rows)

  6. 删除逻辑复制槽slot1。

    12345
    openGauss=#  SELECT * FROM pg_drop_replication_slot('slot1'); pg_drop_replication_slot--------------------------(1 row)

support.huaweicloud.com/centralized-devg-v2-opengauss/devg_03_1323.html