AWS Aurora postgresql12同一個例項之間做邏輯複製步驟

chenfeng發表於2021-10-21

版本:

AWS Aurora PostgreSQL 12.6


實現目標:

從prod庫的mdm.test_user表資料邏輯複製至test庫下的mdm.test_user表


操作說明:

需要在釋出端先建好複製槽,然後訂閱端指定使用該複製槽,,注意釋出端和訂閱端兩邊都必須建立同名schema


具體操作步驟如下:

#建立test庫

create database test;

\c test


#建立同名schema:

test=> create schema mdm;


#建立同名表結構:

test=> CREATE TABLE "mdm"."test_user" (

  "id" int4 NOT NULL,

  "user_num" varchar(20) COLLATE "pg_catalog"."default",

  "resource_flag" int2,

  "syn_record_id" int4,

  "login_number" varchar(20) COLLATE "pg_catalog"."default",

  "employee_number" varchar(12) COLLATE "pg_catalog"."default",

  CONSTRAINT "test_user_pkey" PRIMARY KEY ("id")

)

;


#切換到prod庫

\c prod


#釋出端建立邏輯複製槽

prod=> select pg_create_logical_replication_slot('pg_logical_test_user_slot','pgoutput');


#釋出端建立邏輯釋出

prod=>  CREATE PUBLICATION pub_test_user for table mdm.test_user;




#訂閱端建立訂閱:

#切換到test庫:

\c test


test=> CREATE SUBSCRIPTION sub_test_user CONNECTION

   'host=xxxxxxx port=5432 dbname=prod user=postgres password=123456'

   PUBLICATION pub_test_user with (create_slot=false,slot_name='pg_logical_test_user_slot');



##釋出端和訂閱端資料檢視:

釋出端:

prod=> select count(*) from mdm.test_user;

+-------+

| count |

+-------+

|  1000 |

+-------+

(1 行記錄)


#訂閱端:

test=> select count(*) from mdm.test_user;

+-------+

| count |

+-------+

|  1000 |

+-------+

(1 行記錄)



#檢視釋出:

prod=> \dRp

                              釋出列表

+-------------------+----------+--------+------+------+------+------+

|       名稱        |  擁有者  | 所有表 | 插入 | 更新 | 刪除 | 截斷 |

+-------------------+----------+--------+------+------+------+------+

| pub_test_user      | postgres | f      | t    | t    | t    | t    |

+-------------------+----------+--------+------+------+------+------+

(1 行記錄)



#檢視釋出的表:

prod=>  table pg_publication_tables;

+-------------------+------------+---------------+

|      pubname      | schemaname |   tablename   |

+-------------------+------------+---------------+

| pub_test_user      | mdm        | test_user      |

+-------------------+------------+---------------+

(1 行記錄)


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/15498/viewspace-2838522/,如需轉載,請註明出處,否則將追究法律責任。

相關文章