我想在兩個數據庫之間同步一組表,而不需要應用程序代碼chages。我的想法是在源數據庫表中插入,更新和刪除時創建觸發器,以便使用dblink將數據複製到dest。數據庫表無縫。使用dblink在PostgreSQL中的數據庫之間同步事務
問題是源表中的更改總是在事務內完成。觸發器自動複製dest中的更改。表,但是如果源事務回滾了dest。表格更改不是。
有沒有辦法在兩個數據庫之間自動同步事務開始和提交/回滾?觸發式行爲將是理想的。
我想在兩個數據庫之間同步一組表,而不需要應用程序代碼chages。我的想法是在源數據庫表中插入,更新和刪除時創建觸發器,以便使用dblink將數據複製到dest。數據庫表無縫。使用dblink在PostgreSQL中的數據庫之間同步事務
問題是源表中的更改總是在事務內完成。觸發器自動複製dest中的更改。表,但是如果源事務回滾了dest。表格更改不是。
有沒有辦法在兩個數據庫之間自動同步事務開始和提交/回滾?觸發式行爲將是理想的。
是的,這可能是從年齡 - 使用Slony-I,或其他基於觸發的複製。
將行更新記錄到「主」一側的特殊表中,並在「從屬」一側異步重放。
外部程序/守護程序用於同步更改。
請參閱http://www.postgresql.org/docs/current/static/different-replication-solutions.html和http://wiki.postgresql.org/wiki/Replication,_Clustering,_and_Connection_Pooling#Replication瞭解更多信息。
當9.3出來時,檢查出http://www.postgresql.org/docs/9.3/static/postgres-fdw.html。您可以在外部數據庫中回滾事務。