W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
目錄
邏輯復制是一種基于數(shù)據(jù)對象的復制標識(通常是主鍵)復制數(shù)據(jù)對象及其更改的方法。我們使用術語“邏輯”來與物理復制加以區(qū)分,后者使用準確的塊地址以及逐字節(jié)的復制方式。PostgreSQL兩種機制都支持,請見第 26 章。邏輯復制允許在數(shù)據(jù)復制和安全性上更細粒度的控制。
邏輯復制使用一種發(fā)布和訂閱模型,其中有一個或者更多訂閱者訂閱一個發(fā)布者節(jié)點上的一個或者更多發(fā)布 。訂閱者從它們所訂閱的發(fā)布拉取數(shù)據(jù)并且可能后續(xù)重新發(fā)布這些數(shù)據(jù)以允許級聯(lián)復制或者更復雜的配置。
一個表的邏輯復制通常開始于對發(fā)布者服務器上的數(shù)據(jù)取得一個快照并且將快照拷貝給訂閱者。一旦這項工作完成,發(fā)布者上的更改會被實時發(fā)送給訂閱者。訂閱者以與發(fā)布者相同的順序應用那些數(shù)據(jù),這樣在一個訂閱中能夠保證發(fā)布的事務一致性。這種數(shù)據(jù)復制的方法有時候也被稱為事務性復制。
邏輯復制的典型用法是:
在一個數(shù)據(jù)庫或者一個數(shù)據(jù)庫的子集中發(fā)生更改時,把增量的改變發(fā)送給訂閱者。
在更改到達訂閱者時引發(fā)觸發(fā)器。
把多個數(shù)據(jù)庫聯(lián)合到單一數(shù)據(jù)庫中(例如用于分析目的)。
在PostgreSQL的不同主版本之間進行復制。
在不同平臺上(例如Linux到Windows)的PostgreSQL實例之間進行復制。
將復制數(shù)據(jù)的訪問給予不同的用戶組。
在多個數(shù)據(jù)庫間共享數(shù)據(jù)庫的一個子集。
訂閱者數(shù)據(jù)庫的行為與任何其他PostgreSQL實例相同,并且可以被用作其他數(shù)據(jù)庫的發(fā)布者,只需要定義它自己的發(fā)布。當訂閱者被應用當作只讀時,單一的訂閱中不會有沖突。在另一方面,如果應用或者對相同表集合的訂閱者執(zhí)行了其他的寫動作,沖突可能會發(fā)生。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: