2016-08-14 66 views
2

我們正在嘗試將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集羣在由起搏器控制的流式複製中。我們一直在使用的步驟如下。

  1. 驗證副本服務器處於良好狀態,最新的數據,然後把機器處於待機狀態,停止9.2分貝
  2. 手動啓動9.2服務器得到一些統計數據後,以驗證(計數來自幾個關鍵表的行)
  3. 停止9.2服務器,安裝9.5二進制文件。
  4. 初始化的9.5分貝
  5. 運行帶有鏈接選項
  6. 運行完整的真空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

回答

0

通過此思考(不,我沒有遇到同樣的問題),pg_upgrade通過重寫系統目錄但將其餘數據在磁盤上。如果行數正在變化,那是非常令人擔憂的。然而,9.2到9.5是一個非常大的步驟,所以有些領域可能會出現其他問題。

沒有模糊的想法是什麼實際問題,我會嘗試的第一件事情就是在升級之前而不是之後嘗試運行真空分析。我想知道在交易可見性方面是否存在問題。

我想嘗試的第二件事情就是轉到9.4,看看問題是否出現,如果不是,則轉到9.5。

但是,我從來沒有聽說過這樣的問題。

相關問題