PostgreSQL 社區官方版本不支持DDL的邏輯復制,僅支持DML【INSERT、UPDATE、DELETE、TRUNCATE】,且要求表有主鍵,否則UPDATE和DELETE無法復制(注意:邏輯復制要求wal_level為logical)。
BDR【收費】
pglogical【開源,比較復雜】
pgl_ddl_deploy
本文主要介紹pgl_ddl_deploy插件。
pgl_ddl_deploy該插件可以實現PG邏輯復制中的DDL復制。該插件具有以下特點:
當前最新版本是2.10版,從2.0版本開始,它支持使用本機邏輯復制進行DDL復制(以前依賴于pglogical插件)。
詳細信息請查閱:https://github.com/enova/pgl_ddl_deploy
1.1 創建發布
▼▼▼
CREATE PUBLICATION testpub FOR ALL TABLES IN SCHEAM public;
CREATE EXTENSION pgl_ddl_deploy;
1.2 在發布端進行配置
▼▼▼
INSERT INTO pgl_ddl_deploy.set_configs (set_name,include_schema_regex,driver) VALUES(testpub,.*,native::pgl_ddl_deploy.driver);
set_name:發布端的名字,一定要和創建的發布的名稱一致
include_schema_regex:提供正則表達式,用來匹配需要同步的schema,它可以將新表自動添加到復制中
driver:選擇原生(native)或者pglogical插件
▼▼▼
SELECT pgl_ddl_deploy.deploy(testpub) from pgl_ddl_deploy.set_configs;
返回結果為t,代表啟動成功
1.4 相關權限配置
▼▼▼
SELECT pgl_ddl_deploy.add_role(testpub) from pg_roles where rolname=replic;
▼▼▼
CREATE EXTENSION pgl_ddl_deploy;
CREATE SUBSCRIPTION testsub connection host=PG-1 port=5432 user=replic password=replic dbname=test PUBLICATION testpub;
源端配置:
目標端配置:
源端執行ALTER:
目標查看ALTER直接結果:
源端添加和刪除表:
目標端查看結果:
源端插入數據:
目標端查看:【新添加的表的數據不會自動同步到目標端,需要在目標端進行手工刷新】
更多精彩干貨分享
點擊下方名片關注
IT那活兒
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/129911.html
摘要:筆記一個數據庫包含多個里包含的下一層邏輯結構就是也包括各種不同里的名可以相同在創建一個新的時,會自動為其創建一個名為的。如果未設置變量,那么會將你創建的所有對象默認放入中。執行就能看到其名稱。 PostgreSQL 5.7. Schemas 筆記 https://www.postgresql.org/docs/9.4/ddl-schemas.html A database conta...
摘要:作者譚峰張文升出版日期年月頁數頁定價元本書特色中國開源軟件推進聯盟分會特聘專家撰寫,國內多位開源數據庫專家鼎力推薦。張文升中國開源軟件推進聯盟分會核心成員之一。 很高興《PostgreSQL實戰》一書終于出版,本書大體上系統總結了筆者 PostgreSQL DBA 職業生涯的經驗總結,本書的另一位作者張文升擁有豐富的PostgreSQL運維經驗,目前就職于探探科技任首席PostgreS...
閱讀 1353·2023-01-11 13:20
閱讀 1699·2023-01-11 13:20
閱讀 1211·2023-01-11 13:20
閱讀 1904·2023-01-11 13:20
閱讀 4161·2023-01-11 13:20
閱讀 2751·2023-01-11 13:20
閱讀 1397·2023-01-11 13:20
閱讀 3664·2023-01-11 13:20