PostgreSQL 9.2-9.6ダウンタイムなしのアップグレード


9

PostgreSQL 9.2から9.6にアップグレードする必要があります。以下は私が直面している課題です。

  1. ストリーミングレプリケーションのセットアップがあり、ストリーミングレプリケーションモードではPostgreSQLが下位バージョンから上位バージョンへのアップグレードをサポートしていないため、マスターをアップグレードするとスレーブを再構築する必要があり、3時間かかります。その時間はありません。常に1つのスレーブと1つのマスターを使用できる必要があります。ストリーミングレプリケーションを使用して、スレーブを再構築せずにアップグレードする他の方法はありますか?

  2. 論理複製を構築するために、slonyを使用することを考えましたが、slonyは自動的に複製しないという点でいくつかの制限があります。

    • ラージオブジェクト(BLOB)への変更
    • DDLコマンドによる変更
    • ユーザーとロールへの変更
      ...そして私たちのアプリケーションには継続的な作成コマンドがあります。したがって、slonyは使用できません。

スレーブの再構築を回避し、最小限のダウンタイムでアップグレードを行い、1つのマスターと1つのスレーブの準備を整えるための提案をしてください。


3
Slonyの使用を停止する同じ問題は、Bucardo、Londiste、pglogicalなどの他のツールの使用を停止します。アプリケーションを調整する必要があるため、継続的な作成は行われません。そして、はい、LOBが問題になります。
クレイグリンガー

回答:


1

データベースをアップグレードすると、サーバーでダウンタイムが必要になります。ダウンタイムを最小限に抑えるには、新しいサーバーに新しいバージョンをインストールし、そこにレプリケーション設定を作成し、ここで古いインスタンスからすべてのデータをダンプし、アプリケーションが新しいサーバーをポイントしてデータベースに接続するようにサーバーポイントを変更することをお勧めします。


2
さて、最近、9 TBデータベースを9.3から9.6にアップグレードしましたpg_upgrade。(マスターとスレーブを合わせて)数分かかりましたが、ダンプだけで3時間以上必要です。
dezso 2017

しかし、ダンプを取るのにダウンタイムは必要ありません。
Lohit Gupta 2017

絶対に、私が意味した(そして追加するのを忘れた)ことは、バックアップの復元にかか​​る時間とほぼ同じ時間がかかるということでした。
dezso 2017

提案をありがとう、それで私がやっていたことはマスターのアップグレードとスレーブの再構築でした、これは正しい手順です
Prabhat

1
手順2は機能しません。WAL形式はメジャーバージョン間で互換性がないため、が必要ですpg_upgrade
dezso 2017
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.