點(diǎn)擊上方“IT那活兒”公眾號(hào),關(guān)注后了解更多內(nèi)容,不管IT什么活兒,干就完了?。?!
PostgreSQL 10版本中新增了一個(gè)邏輯復(fù)制的特性,支持內(nèi)置的邏輯復(fù)制。
使用發(fā)布者/訂閱者模型,使用訂閱復(fù)制槽技術(shù),可并行的傳輸WAL日志,通過(guò)在訂閱端回放WAL日志中的邏輯條目,保持復(fù)制表的數(shù)據(jù)同步。
在源端執(zhí)行下列命令,定義發(fā)布和要復(fù)制的表:
CREATE PUBLICATION pub1 FOR TABLE text.yjxt_tf_fmc_payflow_fee_sync;
執(zhí)行下列命令,檢查是否創(chuàng)建成功。
SELECT * FROM pg_publication;
在目標(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;
SELECT slot_name,plugin,slot_type,database,active,restart_lsn FROM pg_replication_slots;
ALTER PUBLICATION pub1 ADD TABLE text.commission_project_yj_sync;
alter subscription sub1 refresh publication;
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種配置模式,分別為:
索引模式(index)
完整模式(full)
將整行記錄中的所有列作為復(fù)制標(biāo)識(shí)(類似于整個(gè)表上每一列共同組成主鍵)。
無(wú)身份模式(nothing)
不記錄任何復(fù)制標(biāo)識(shí),這意味著UPDATE|DELETE操作無(wú)法復(fù)制到訂閱者上。
早前發(fā)布過(guò)我們團(tuán)隊(duì)另外一位作者寫的一篇《PGsql邏輯復(fù)制》,大家可以結(jié)合本篇內(nèi)容閱讀查看之前發(fā)布的文章:《PGsql邏輯復(fù)制》
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/129365.html
摘要:作者譚峰張文升出版日期年月頁(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...
摘要:平臺(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ì)算資源的...
摘要:最近研究了的兩種集群方案,分別是和,在這里總結(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...
摘要:每年設(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)題。因此我們決定全面升...
閱讀 1464·2023-01-11 13:20
閱讀 1816·2023-01-11 13:20
閱讀 1267·2023-01-11 13:20
閱讀 2009·2023-01-11 13:20
閱讀 4228·2023-01-11 13:20
閱讀 2889·2023-01-11 13:20
閱讀 1489·2023-01-11 13:20
閱讀 3814·2023-01-11 13:20