2012-12-18 71 views
0

我希望能夠跟蹤對PostgreSQL數據庫中記錄的更改。我曾考慮過使用版本字段和更新規則或觸發器,以便將以前版本的記錄保存在表格中(或單獨的表格中)。這將具有使用簡單的選擇語句查看記錄的版本歷史記錄的優點。但是,這個功能是我認爲很少使用的東西。使用WAL文件進行PostgreSQL記錄版本控制?

我該如何滿足能夠使用WAL文件爲記錄構建「版本歷史記錄」的需求?閱讀PostgreSQL.org上的WAL和時間點恢復文檔可以幫助我理解整個數據庫的狀態如何回滾到任意時間點,而不是如何處理特定記錄中的更新錯誤。

+0

我對你的WAL方法的看法雖然有趣,但似乎過於複雜。爲什麼不按照其他人的做法,並使用觸發器或規則來捕捉變化。這很簡單,不是一個夢想狀態的想法。 – Kuberchaun

+0

只是澄清:不能將數據庫回滾到任意時間點。你只能從一個已知的一致基點到一個單一的未來時間點。最終結果看起來像數據庫回滾,但您的描述意味着您可以簡單地告訴它回溯到某個時間點,這是不可能的。 –

回答

1

不,你現在不能這樣做。在postgresql-hackers郵件列表(開發列表)上進行了大量工作來重寫WAL並構建一個接口,以允許(可能)在PostgreSQL 9.3中進行邏輯複製。

這基本上是你似乎試圖去做的事情,根據對這個清單的討論,這絕對不是一件小事。

+0

謝謝。這就是我需要知道的。 – Gregory

相關問題