我們正在嘗試將production 9.2 postgres羣集升級到9.5。該服務器正在運行與Centos版本的Centos 7 - 目前9.2.15我們正在從postgresql repo安裝postgresql提供的postgresql9.5 rpm,目前是9.5.4。在測試和我們的開發集羣中,升級沒有問題,但我們的產品數據庫正在發生一些我們無法弄清的事情。Postgres 9.2到9.5升級正在丟失數據
9.2集羣在由起搏器控制的流式複製中。我們一直在使用的步驟如下。
- 驗證副本服務器處於良好狀態,最新的數據,然後把機器處於待機狀態,停止9.2分貝
- 手動啓動9.2服務器得到一些統計數據後,以驗證(計數來自幾個關鍵表的行)
- 停止9.2服務器,安裝9.5二進制文件。
- 初始化的9.5分貝
- 運行帶有鏈接選項
- 運行完整的真空pg_upgrade分析認爲pg_upgrade產生
我們發現在測試是我們得到通升級過程腳本,開始9.5服務器手動比較我們在升級前立即收集的行數,並且我們看到了不同的數據,有時是很大的。這些數據包括丟失的用戶帳戶等,這不是易腐爛的數據。
我們啓用了詳細日誌記錄並對其進行了審閱,但在遷移過程中未發現任何錯誤。 9.5服務器開始時沒有投訴,如果我們沒有做這些手動檢查,我們不會看到問題。
有其他人看過這個問題嗎?
升級過程中唯一不是直接從postgres_upgrade手冊頁進行的'hack'是處理postgresql中的一個重命名的選項,即centos向後移動。使用上面答案中引用的pg_ctl的重命名 - https://dba.stackexchange.com/questions/50135/pg-upgrade-unrecognized-configuration-parameter-unix-socket-directory