日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

邏輯訂閱

RDS PostgreSQL提供邏輯訂閱功能,支持在多個RDS PostgreSQL實例之間實現(xiàn)準實時表級單向同步,可以用于數(shù)據(jù)共享、數(shù)據(jù)匯總、數(shù)據(jù)拆分等業(yè)務(wù)場景。

如果您在全國多個地域部署業(yè)務(wù),可以通過邏輯訂閱共享數(shù)據(jù),例如將中心數(shù)據(jù)共享給其他地域,或者將其他地域數(shù)據(jù)匯總到中心進行實時分析查詢等。

本文簡單介紹邏輯訂閱的使用流程,示例的流程如下:

源實例的數(shù)據(jù)庫src創(chuàng)建發(fā)布,發(fā)布表public.t1,然后在目的實例的數(shù)據(jù)庫dst創(chuàng)建訂閱sub1_from_pub1,訂閱源庫表public.t1。

更多詳情請參見邏輯訂閱原理與最佳實踐

注意事項

您可以在單個實例的兩個表之間實現(xiàn)邏輯訂閱,也可以在同一VPC內(nèi)的兩個實例間(必須使用內(nèi)網(wǎng)地址)實現(xiàn)邏輯訂閱。

前提條件

  • 實例為RDS PostgreSQL 10及以上版本的云盤實例。

  • 實例參數(shù)wal_level的值為logical,您可以在控制臺的參數(shù)設(shè)置頁面進行修改,該參數(shù)修改后需要重啟實例才能生效。重啟實例會造成連接中斷,請?zhí)崆白龊脴I(yè)務(wù)安排,謹慎操作。

  • 如果是同一VPC內(nèi)兩個實例間實現(xiàn)邏輯訂閱,需要在各自的白名單中放通實例所在VPC的IP段,例如放通172.16.0.0/16。

  • 需要具有rds_superuser權(quán)限的賬號,例如高權(quán)限賬號或者高權(quán)限賬號使用create role xxx with superuser創(chuàng)建的其他賬號。

操作步驟

源庫創(chuàng)建新發(fā)布

  1. 連接PostgreSQL源實例

  2. 在源庫里創(chuàng)建新發(fā)布,命令如下:

    CREATE PUBLICATION <發(fā)布名稱> FOR TABLE <表名>;

    示例

    CREATE PUBLICATION pub1 FOR TABLE public.t1;
    說明
    • 只能發(fā)布持久基表。詳情請參見CREATE PUBLICATION

    • 您可以通過SELECT * FROM pg_publication;查看當前數(shù)據(jù)庫有哪些發(fā)布。

目的庫創(chuàng)建訂閱

  1. 連接PostgreSQL目的實例

  1. 在目標庫創(chuàng)建新訂閱。

    • 如果源庫和目標庫在相同的實例,使用如下步驟:

      1. 在源數(shù)據(jù)庫中創(chuàng)建邏輯復(fù)制槽。

      2. SELECT pg_create_logical_replication_slot('<slot_name>', 'pgoutput');
      3. 在目標數(shù)據(jù)庫中創(chuàng)建邏輯訂閱。

      4. 說明
        • 請?zhí)崆霸谀繕藬?shù)據(jù)庫中創(chuàng)建與源數(shù)據(jù)庫相同表結(jié)構(gòu)的數(shù)據(jù)表。

        • 同實例時,必須使用WITH添加訂閱參數(shù)create_slot=false

        CREATE SUBSCRIPTION <訂閱名稱>
        CONNECTION 'dbname=<源實例數(shù)據(jù)庫名>'
        PUBLICATION publication_name WITH (create_slot=false,slot_name=<slot_name>);
    • 如果源庫和目標庫在不同的實例,使用如下步驟:

      在目標數(shù)據(jù)庫中創(chuàng)建邏輯訂閱。

      CREATE SUBSCRIPTION <訂閱名稱>
          CONNECTION '<源庫的實例連接信息>'
          PUBLICATION <源庫的發(fā)布名稱>;

      源庫的實例連接信息格式為:host=<源實例內(nèi)網(wǎng)域名> port=<源實例內(nèi)網(wǎng)端口> user=<源實例有發(fā)布權(quán)限賬號> password=<源實例賬號的密碼> dbname=<源實例數(shù)據(jù)庫名>

      示例:

      CREATE SUBSCRIPTION sub1_from_pub1 
      CONNECTION 'host=pgm-xxxxx.pgsql.singapore.rds.aliyuncs.com port=3433 user=test password=xxxxx dbname=src' 
      PUBLICATION pub1 WITH (enabled, create_slot, slot_name='sub1_from_pub1');  
      說明
      • 您可以通過SELECT * FROM pg_subscription;查看整個數(shù)據(jù)庫集群有哪些訂閱。

      • 源庫的發(fā)布名稱后可以使用WITH附加相關(guān)訂閱參數(shù),詳情請參見CREATE SUBSCRIPTION