Migrating from Postgres Physical Streaming Replication (PSR) to PGD

Migrating from Postgres Physical Streaming Replication (PSR) to PGD#

Postgres物理ストリーミングレプリケーションPSRからPostgres DistributedPGDへの移行は、シングルプライマリアーキテクチャからマルチプライマリメッシュネットワークへの移行を意味します。この移行は、通常、高可用性と地理的に分散した書き込み機能のニーズによって促進されます。

詳細については、 Choosing between PSR and PGD を参照してください。

この移行戦略のコアは シードノード であり、標準のフィジカルスタンバイとして既存のPSRクラスターに最初に参加する新しいノードです。同期が完了すると、物理ストリームから分離され、論理サブスクライバに変換されます。

論理レプリケーションにより、Postgresの異なるメジャーバージョン間でデータをフローできます。シードノードがアップグレードしてPGDを実行すると、新しいクラスターの「アンカー」として機能し、元のソースプライマリから新しいデータを受信したまま、シードノードから「物理的結合」を使用して追加のPGDノードを参加できます。

この方法を使用することにより、元のプライマリノードがプロセス全体を通じて「真実のソース」であり、アプリケーションは最後のカットオーバーフェーズまで中断せずに実行され続けます。

前提条件#

  • 現在物理レプリケーションEFMによって管理されているオプションを利用しているPGE、EPAS、またはCommunity Postgresバージョン14以降を実行しているノード。

  • 十分なストレージを備えた2つの追加ノードシードノードと追加ノード。

  • すべての既存のノードと新しいノード間のネットワーク接続。

移行の概要#

移行は次のフェーズで構成されています。

  1. Preparing your environment ソースプライマリノードを特定し、PGDクラスターをアンカーするシードノードを選択します。

  2. Transferring data to the seed node 新しいノードで手動フィジカルスタンバイを確立します。

  3. Converting to logical replication シードノードを物理ストリーミングから論理ストリーミングに移行します。

  4. Upgrading the seed node and installing PGD インプレースメジャーバージョンアップグレードを実行し、PGDパッケージをインストールします。

  5. Initializing PGD BDR拡張を作成し、最初のPGDノードグループを初期化します。

  6. Joining additional PGD nodes クラスターを拡張して高可用性を保証します。

  7. Application cutover トラフィックを新しいPGDクラスターにスイッチします。

  8. Performing cleanup クラスターを分離し、古いバージョンを削除します。