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

資訊專欄INFORMATION COLUMN

PG邏輯復(fù)制簡介及實操

IT那活兒 / 1797人閱讀
PG邏輯復(fù)制簡介及實操

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

邏輯復(fù)制介紹

PostgreSQL 10版本中新增了一個邏輯復(fù)制的特性,支持內(nèi)置的邏輯復(fù)制。

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

邏輯復(fù)制原理

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

這里并不是“SQL”復(fù)制,而是復(fù)制SQL操作的結(jié)果。

邏輯復(fù)制的缺陷

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

實際具體操作步驟

1. 發(fā)布

在源端執(zhí)行下列命令,定義發(fā)布和要復(fù)制的表:

CREATE PUBLICATION pub1 FOR TABLE text.yjxt_tf_fmc_payflow_fee_sync;

執(zhí)行下列命令,檢查是否創(chuàng)建成功。

SELECT * FROM pg_publication;

2. 訂閱

在目標(biāo)端執(zhí)行下面的命令,創(chuàng)建一個到遠程服務(wù)器的訂閱,復(fù)制發(fā)布pub1中的表,并在提交時立即開始復(fù)制:

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

執(zhí)行下列命令,檢查是否創(chuàng)建成功。

SELECT * FROM pg_subscription;

3. 查看源端復(fù)制槽是否活躍

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

4. 在源端執(zhí)行下面的命令

可以在已經(jīng)創(chuàng)建的發(fā)布里新增需要邏輯復(fù)制的表。

ALTER PUBLICATION pub1 ADD TABLE text.commission_project_yj_sync;

5. 執(zhí)行下面的命令,在目標(biāo)端刷新訂閱

alter subscription sub1 refresh publication;

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


邏輯復(fù)制注意事項

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

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

可以執(zhí)行下面的命令修改表的復(fù)制標(biāo)識來解決非主鍵表無法update的問題。

ALTER TABLE table_name REPLICA IDENTITY FULL;

注:REPLICA IDENTITY,復(fù)制標(biāo)識,共有4種配置模式,分別為:

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

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

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

  • 無身份模式(nothing)

    不記錄任何復(fù)制標(biāo)識,這意味著UPDATE|DELETE操作無法復(fù)制到訂閱者上。

表改復(fù)制標(biāo)識可以通過ALTER TABLE進行修改。


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


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

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

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/129365.html

相關(guān)文章

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

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

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

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

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

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

    gitmilk 評論0 收藏0
  • 一個從基礎(chǔ)到實戰(zhàn)的學(xué)習(xí)機會:Go & Rust、分布式數(shù)據(jù)庫系統(tǒng) | PingCAP Tal

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

    TNFE 評論0 收藏0

發(fā)表評論

0條評論

IT那活兒

|高級講師

TA的文章

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