處理主動-主動式複寫中的衝突 - Amazon Relational Database Service

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

處理主動-主動式複寫中的衝突

pgactive 延伸模組是在每個資料庫上運作,而不是每個叢集。使用 pgactive 的每個資料庫執行個體都是獨立的執行個體,可接受任何來源的資料變更。將變更傳送至資料庫執行個體時,PostgreSQL 會在本機上遞交該變更,然後使用 pgactive 以非同步方式將變更複寫到其他資料庫執行個體。當兩個 PostgreSQL 資料庫執行個體幾乎同時更新相同的記錄時,可能會發生衝突。

pgactive 延伸模組提供了衝突偵測和自動解決的機制。它會追蹤交易在兩個資料庫執行個體上得到認可的時間戳記,並自動套用具有最新時間戳記的變更。pgactive 延伸模組也會記錄 pgactive.pgactive_conflict_history 資料表中發生的衝突。

pgactive.pgactive_conflict_history 會持續成長。您可能想要定義清除政策。這可以透過定期刪除一些記錄或定義此關係的分割方案 (以及稍後分離、捨棄、截斷感興趣的分割區) 來完成。若要定期實作清除政策,其中一個選項是使用 pg_cron 延伸。如需使用 PostgreSQL pg_cron 擴充功能排程維護pg_cron歷史記錄資料表範例,請參閱下列資訊。