一次近乎完美的PostgreSQL版本大升級實踐

2020 年 5 月,我們與 OnGres 合作,對 GitLab 上的 Postgres 集羣進行版本大更新,從 9.6 版本升級到 11 版本。升級全部在維護窗口內運行,沒有絲毫差錯;更新中所有涉及的內容、計劃、測試,以及全流程自動化,全部進行拆包,只爲實現一次近乎完美的 PostgreSQL 升級。

本次版本更新,我們面臨的最大難題在於如何利用一個規劃完善的 pg_upgrade,方便且高效地對整體項目進行重要版本升級。爲此,我們需要制定一個回滾計劃,以保證 12 節點集羣的 6 TB 數據一致的同時,優化恢復目標時間(RTO)後的容量,爲 600 萬用戶提供每秒 300000 次的聚合交易服務。

解決工程難題的最佳方案是按照藍圖和設計文檔行事。在創建藍圖的過程中,我們需要定義目標問題,評估最合適的解決方案,並考慮每個解決方案的優缺點。

在此,我們附上爲這個項目準備的藍圖鏈接

我們爲什麼要升級PostgreSQL

我們決定在 GitLab 13.0 中停止對 PostgreSQL 10.0 的支持,而 PostgreSQL 9.6 版本將在 2021 年 11 月 EOL(項目終止),因此,我們需要採取相應的行動。

以下是PostgreSQL9.6和11版本之間的主要區別:

原文鏈接:【https://www.infoq.cn/article/UDOf5vLIoSSPJBccDTtN】。未經作者許可,禁止轉載。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章