ゼロダウンタイムでのPostgreSQLメジャーバージョンアップグレード

2025-01-29
ゼロダウンタイムでのPostgreSQLメジャーバージョンアップグレード

Instantチームは、ゼロダウンタイムでPostgreSQLをバージョン13から16にアップグレードする方法について共有しています。彼らはインプレースアップグレードとブルーグリーンデプロイメントを試みましたが、どちらも失敗しました。最終的に、新しいPostgreSQL 16レプリカを作成し、サブスクリプションと書き込みを段階的に切り替え、新しいトランザクションを短時間一時停止することでゼロデータロスを保証するスマートなアルゴリズムを設計するという手動アプローチを採用しました。この過程で、カスタム関数の検索パスに関する問題やシーケンスデータのレプリケーションに関する問題などの課題に直面し、そこから得られた貴重な教訓を共有しています。