成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

PG邏輯復(fù)制簡(jiǎn)介及實(shí)操

IT那活兒 / 1903人閱讀
PG邏輯復(fù)制簡(jiǎn)介及實(shí)操

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

邏輯復(fù)制介紹

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

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

邏輯復(fù)制原理

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

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

邏輯復(fù)制的缺陷

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

實(shí)際具體操作步驟

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)建一個(gè)到遠(yuǎn)程服務(wù)器的訂閱,復(fù)制發(fā)布pub1中的表,并在提交時(shí)立即開始復(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. 通過(guò)查詢語(yǔ)句查看兩邊數(shù)據(jù),驗(yàn)證邏輯復(fù)制是否成功。


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

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

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

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

ALTER TABLE table_name REPLICA IDENTITY FULL;

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

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

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

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

  • 無(wú)身份模式(nothing)

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

表改復(fù)制標(biāo)識(shí)可以通過(guò)ALTER TABLE進(jìn)行修改。


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


本文作者:吳航舟(上海新炬王翦團(tuán)隊(duì))

本文來(lái)源:“IT那活兒”公眾號(hào)

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

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

相關(guān)文章

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

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

    Martin91 評(píng)論0 收藏0
  • 私有云搭建-私有云搭建之存儲(chǔ)虛擬化

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

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

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

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

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

    TNFE 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<