2011-05-02 46 views
0

我想在PG9中使用流複製進行質量保證 - 也就是將數據從生產流傳送到QA。警告:我需要在QA中混淆數據(更改密碼散列,電子郵件等)。流式複製 - 模糊複製?

是否有可能通過流式複製實現它?如果沒有,是否有任何替代方案可以通過即時混淆進行增量更新?

回答

0

我想你可能不得不在這裏推出自己的東西。我要做的是在真正的表上設置一個觸發器,將混淆的/任意的值放在這些東西的位置,並將它們推入到具有相同名稱的表中。那麼我會複製數據庫,用這些表代替原件。這樣,沒有安全的數據會離開生產,並且您可以使用預先構建的複製引擎(slony),而無需自行滾動所有內容。如果您需要幫助,請轉到slony管理員指南開始。它看起來非常複雜,但並不算太壞,一旦你掌握了它,你就可以用它做一些非常酷的和驚人的事情。

+0

一個澄清的說明:我一直在運行PostgreSQL流式複製一段時間了。這是一種二進制複製機制,正因爲如此,您無法隔離數據庫中的數據庫或表。要隔離數據庫,您需要通過日誌傳送使用PITR(時間點複製)。使用PITR,您無法得到您想要的任何東西。儘管我喜歡斯科特的建議! – Eric 2013-03-04 13:23:41

0

清除和簡短回答:否。

在PostgreSQL嵌入式流式複製主從機必須是相同的。不僅你不能改變特定的記錄和字段,而且你也不能改變數據庫的數量。主站(包括其所有數據庫,表和數據)的完整「數據庫集羣」將被複制到從站。

實際需要的是某種基於觸發器的邏輯複製。我聽說pglink可以做到這一點,但我從來沒有嘗試過。