Openflow Connector for PostgreSQL のメンテナンス¶
注釈
This connector is subject to the Snowflake Connector Terms.
This topic describes important maintenance considerations and best practices for maintaining the Openflow Connector for PostgreSQL when making changes to the source PostgreSQL database. In addition this topic describes how to reinstall the connector.
PostgreSQL アップグレード中¶
コネクタのアップグレードは、PostgreSQL が次のマイナーバージョンまたはメジャーバージョンにアップグレードされるかどうかに応じて異なるアプローチが必要です。
マイナーバージョンのアップグレード
データは安全です。
特別な扱いは必要ありません。
接続の問題を報告しないために、アップグレード期間中はコネクタを停止する必要があります。
アップグレード後も、データを失うことなく複製を続行します。
メジャーバージョンのアップグレード
コネクタが使用しているものも含め、PostgreSQL サーバーに複製スロットを削除させる必要があります。
複製スロットを新しいバージョンに保持または移行することはできません。PostgresSQL 17以降のバージョンのアップグレード もご参照ください。
以前のスナップショットフェーズからのすべてのテーブルの複製を再開します。
マイナーバージョンのアップグレードを実行するには、次を実行します。
すべてのプロセッサーと制御サービスを含む、コネクタを停止します。
PostgreSQL をアップグレードします。
コネクタを再起動します。
メジャーバージョンアップグレードを実行するには、次を実行します。
コネクタで複製からすべてのテーブルを削除します。
コネクタ内のすべてのキューが空になるまで待ちます。
すべてのプロセッサーと制御サービスを含む、コネクタを停止します。
コネクタの Incremental Load グループを開きます。
Read PostgreSQL CDC Stream グループの一番上のプロセッサーを右クリックします。また、View state を洗濯します。
Clear state をクリックします。
Close をクリックします。
PostgreSQL をアップグレードします。
コネクタを再起動します。新しい複製スロットが作成されます。
すべてのテーブルを再追加して複製を開始します。
PostgresSQL 17以降のバージョンのアップグレード¶
PostgreSQL 17 のアップグレードを改善し、17.1 » 18.0などの新しいバージョンにアップグレードするときに、複製スロットをドロップする必要がなくなりました。以前のバージョン(16以前)から PostgreSQL 17.0以降にアップグレードすると、複製スロットがドロップするため、メジャーアップグレードとして扱う必要があります。PostgreSQL の将来のバージョンは、アップグレードプロセスをさらに改善する可能性があります。
Reinstall the connector¶
このセクションでは、コネクタを再インストールする方法について説明します。新しいコネクタが同じランタイムにインストールされている場合や、新しいランタイムに移動された場合をカバーします。再インストールは多くの場合、 スナップショットでの増分複製 と一緒に使用されます。
警告
コネクタが再インストール前に停止した位置と同じ CDC ストリーム位置から複製を続行できるようにするには、ソースデータベースは古いコネクタが停止し、新しいコネクタが開始されてからの時間をカバーするのに十分な長さの WAL を保持する必要があります。PostgreSQL サーバーの max_wal_size パラメーターがトラフィックに応じて十分に高いことを確認し、再インストール時間を最小限に抑えます。
前提条件¶
コネクタパラメーターのコンテキスト値を確認してメモします。同じランタイムでコネクタを再インストールする場合は、既存のコンテキストを再利用できます。新しいインスタンスが別のランタイムにある場合は、すべてのパラメーターを再入力する必要があります。
To reinstall the connector:
既存のコネクタで進行中のすべての FlowFiles の処理を終了し、コネクタを停止します。
Snowsight にサインインします。
ナビゲーションメニューで Ingestion » Openflow を選択します。
Openflow ペインで Runtimes タブを選択します。
Select the runtime containing the connector.
Select the connector.
Snapshot Load グループで一番上のプロセッサー Set Tables for Replication を停止します。
Stop the topmost processor Read PostgreSQL CDC Stream in the Incremental Load group.
Merge Task Schedule CRON パラメーターの値を変更した場合、
* * * * * ?に返します。そうでないと、次回のスケジュールされた実行までキューが空になりません。コネクタのすべての FlowFiles が処理され、すべてのキューが空になるまで待機します。すべての FlowFiles が処理されると、コネクタのプロセッサーグループの Queued 値がゼロになります。元のコネクタのキューにアイテムが残っている場合、新しいコネクタの開始時にデータギャップが生じる可能性があります。
Stop all processors and controller services in the connector.
Read PostgreSQL CDC Streamという名前を持つIncremental Loadグループで最上位のプロセッサーの状態を表示して、元のコネクタが使用していた複製スロットの名前を見つけてコピーします。複製スロット名はキーreplication.slot.nameの下に保存されます。キーの値をテキストエディターにコピーします。コネクタの新しいインスタンスを作成します。元のコネクタと同じランタイムを使用している場合は、既存のパラメーターコンテキストを保持し、設定を再利用できます。
注意
既存のコネクタはランタイムにとどまることができ、停止したままである限り、新しいインスタンスに干渉しません。
別のランタイムにインストールする場合、または以前のパラメーターコンテキストを削除した場合は、 Openflow Connector for PostgreSQL の設定 で説明されているとおり、テーブル名とパターンなどすべての構成設定を新しいパラメーターコンテキストに入力します。
PostgreSQL Ingestion Parametersコンテキストを開いて、Ingestion Typeパラメーターをincrementalに設定します。懸念事項の詳細については、 スナップショットなしの増分複製を有効にする をご参照ください。PostgreSQL Source Parametersコンテキストを開き、Replication Slot Nameパラメーターを先ほどコピーした値に設定します。Start the new connector.
使用上の注意¶
新しいコネクタは、元のコネクタによって作成されたものと同じ既存の宛先テーブルを使用しますが、新しいジャーナルテーブルを作成します。