2015-09-28 194 views
0

我一直在嘗試使用pg_comparator構建數據倉庫,以便從生產中同步特定的表。看起來pg_comparator很好地識別UPDATES,INSERTS和DELETES並同步記錄正確。使用pg_comparator同步兩個表在不同postgresql數據庫中

雖然pg_comparator導致表被鎖定在生產環境中,導致其他活動事務問題,但仍面臨一個問題。

./pg_comparator -S -D \ 
     pgsql://[email protected]/dbname/user pgsql://[email protected]/dbname/user 

有人可以告訴我如何在不鎖定源數據庫表的情況下運行pg_comparator?

+0

它應該只需要鎖定目標表。源表只應該需要一個快照。奇怪的是,它需要一個重量級的鎖。 –

回答

1

按照docs有一個--lock, --no-lock選項:

--lock, --no-lock
是否鎖定表。顯式設置選項會覆蓋默認的這種或那種方式。對於PostgreSQL,這個選項需要--transaction,默認啓用。

默認值取決於當前操作:表未鎖定用於比較,但鎖定用於同步。