国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

PG邏輯復制簡介及實操

IT那活兒 / 1774人閱讀
PG邏輯復制簡介及實操

點擊上方“IT那活兒”公眾號,關注后了解更多內容,不管IT什么活兒,干就完了!!!

邏輯復制介紹

PostgreSQL 10版本中新增了一個邏輯復制的特性,支持內置的邏輯復制。

它使用類似消息隊列的發布者、訂閱者的模型,可基于表級別復制,是一種粒度可細的復制。利用復制槽的技術,發布者將wal日志解析成一定格式的數據流,訂閱者對解析后的wal日志數據流進行回放應用,從而實現數據的同步

邏輯復制原理

使用發布者/訂閱者模型,使用訂閱復制槽技術,可并行的傳輸WAL日志,通過在訂閱端回放WAL日志中的邏輯條目,保持復制表的數據同步。

這里并不是“SQL”復制,而是復制SQL操作的結果。

邏輯復制的缺陷

目前僅支持數據庫表邏輯復制,其他對象如函數、視圖不支持。僅僅支持復制DML操作,不支持Truncate和DDL操作。

實際具體操作步驟

1. 發布

在源端執行下列命令,定義發布和要復制的表:

CREATE PUBLICATION pub1 FOR TABLE text.yjxt_tf_fmc_payflow_fee_sync;

執行下列命令,檢查是否創建成功。

SELECT * FROM pg_publication;

2. 訂閱

在目標端執行下面的命令,創建一個到遠程服務器的訂閱,復制發布pub1中的表,并在提交時立即開始復制:

CREATE SUBSCRIPTION sub1 CONNECTION host=133.0.xxx.xxx port=xxxx user=test dbname=test password=xxxxx PUBLICATION pub1;

執行下列命令,檢查是否創建成功。

SELECT * FROM pg_subscription;

3. 查看源端復制槽是否活躍

SELECT slot_name,plugin,slot_type,database,active,restart_lsn FROM pg_replication_slots;

4. 在源端執行下面的命令

可以在已經創建的發布里新增需要邏輯復制的表。

ALTER PUBLICATION pub1 ADD TABLE text.commission_project_yj_sync;

5. 執行下面的命令,在目標端刷新訂閱

alter subscription sub1 refresh publication;

6. 通過查詢語句查看兩邊數據,驗證邏輯復制是否成功。


邏輯復制注意事項

1. 邏輯復制的源數據庫用戶必須具有 replication 或 superuser 角色,并且保證訂閱段可通過流復制協議連接到源數據庫上。

2. 當發布包含delete、update操作時,表必須設置replica identity用來標識舊行(pk、uk、full),對于無主鍵/唯一鍵的表邏輯同步,只允許發布端進行insert操作,無法執行delete、upadte操作。

可以執行下面的命令修改表的復制標識來解決非主鍵表無法update的問題。

ALTER TABLE table_name REPLICA IDENTITY FULL;

注:REPLICA IDENTITY,復制標識,共有4種配置模式,分別為:

  • 默認模式(default)
    非系統表采用的默認模式,如果有主鍵,則用主鍵列作為身份標識,否則用完整模式。
  • 索引模式(index)

    將某一個符合條件的索引中的列,用作身份標識。
  • 完整模式(full)

    將整行記錄中的所有列作為復制標識(類似于整個表上每一列共同組成主鍵)。

  • 無身份模式(nothing)

    不記錄任何復制標識,這意味著UPDATE|DELETE操作無法復制到訂閱者上。

表改復制標識可以通過ALTER TABLE進行修改。


早前發布過我們團隊另外一位作者寫的一篇《PGsql邏輯復制》,大家可以結合本篇內容閱讀查看之前發布的文章PGsql邏輯復制


本文作者:吳航舟(上海新炬王翦團隊)

本文來源:“IT那活兒”公眾號

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/129365.html

相關文章

  • 新書推薦 |《PostgreSQL實戰》出版(提供樣章下載)

    摘要:作者譚峰張文升出版日期年月頁數頁定價元本書特色中國開源軟件推進聯盟分會特聘專家撰寫,國內多位開源數據庫專家鼎力推薦。張文升中國開源軟件推進聯盟分會核心成員之一。 很高興《PostgreSQL實戰》一書終于出版,本書大體上系統總結了筆者 PostgreSQL DBA 職業生涯的經驗總結,本書的另一位作者張文升擁有豐富的PostgreSQL運維經驗,目前就職于探探科技任首席PostgreS...

    Martin91 評論0 收藏0
  • 私有云搭建-私有云搭建之存儲虛擬化

    摘要:平臺采用分布式存儲系統作為虛擬化存儲,用于對接虛擬化計算及通用數據存儲服務,消除集中式網關,使客戶端直接與存儲系統進行交互,并以多副本糾刪碼多級故障域數據重均衡故障數據重建等數據保護機制,確保數據安全性和可用性。云計算平臺通過硬件輔助的虛擬化計算技術最大程度上提高資源利用率和業務運維管理的效率,整體降低 IT 基礎設施的總擁有成本,并有效提高業務服務的可用性、可靠性及穩定性。在解決計算資源的...

    ernest.wang 評論0 收藏0
  • PG的兩種集群技術:Pgpool-II與Postgres-XL

    摘要:最近研究了的兩種集群方案,分別是和,在這里總結一下二者的機制結構優劣測試結果等。其中的前身的,的前身是。為了避免單點故障,可以為所有節點配置對應的節點。測試測試結果測試結果顯示,兩種集群與單機的性能指標幾乎一致,無法分辨高下。 最近研究了PG的兩種集群方案,分別是Pgpool-II和Postgres-XL,在這里總結一下二者的機制、結構、優劣、測試結果等。 1、 Pgpool-I...

    gitmilk 評論0 收藏0
  • 一個從基礎到實戰的學習機會:Go & Rust、分布式數據庫系統 | PingCAP Tal

    摘要:每年設有三期線下課程,分別在月份,月份以及月份,所有線下課程將在北京總部進行。當大家完成了線下課程和全部課程考核,我們會舉辦一個充滿儀式感的結業答辯,并為順利結業的小伙伴授予專屬的結業證書。 TiDB 每一次微小進步都離不開廣大社區小伙伴們的支持,但也有很多同學反映 TiDB 是一個非常復雜的分布式數據庫系統,如果沒有相關知識和經驗積累,在參與之初難免會遇到各種問題。因此我們決定全面升...

    TNFE 評論0 收藏0

發表評論

0條評論

IT那活兒

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<