SharePlexは、PostgreSQL Azure Flexible Serverの論理レプリケーションによるHAをサポートしています。
以下の設定手順に従います。
以下のリンクに記載された手順を使用して、Azure Flexible Serverで高可用性セットアップを有効にします。
重要: ユーザは、プライマリサーバ名(ホスト名)を使用してデータベースにアクセスできなければなりません。
pg_failover_slots拡張機能のセットアップを、以下のリンクにある手順を使用して作成します。
注意: pg_failover_slots拡張機能は、PostgreSQLバージョン11から15でサポートされています。
odbc.iniファイルのDSNの下にあるservername=hostnameを使用します。このDSNをpg_setupの実行中に使用しなければなりません。
例:
[DSN]
Servername=pslflexihaserver01.postgres.database.azure.com
注意: プライマリ・データベース・サーバのIPアドレスは、フェールオーバー後に変更される可能性があるため、使用しないでください。ホスト名は常に現在のプライマリ・データベース・サーバを指すため、ホスト名のみを使用する必要があります。
フェールオーバーが計画されている場合は、フェールオーバー前にCaptureプロセスを停止し、フェールオーバー後に再開します。
計画外のフェールオーバーが発生した場合、フェールオーバー後のエラー状態によりCaptureプロセスは停止します。これは手動で再開する必要があります。
制限事項: 連続したフェイルオーバが発生した場合、最初のフェイルオーバ後にcaptureを開始する前に、pg_failover_slots拡張により、プライマリサーバとスタンバイサーバの両方から論理スロットが削除されます。これは、最初のフェールオーバーの後、スタンバイサーバのスロットがアクティブとマークされ、プライマリサーバのスロットが非アクティブとマークされるからです。スタンバイサーバのアクティブ状態が「true」の場合、そのスロットはまだ同期しておらず、安全に使用できないことを示します。したがって、フェールオーバーが再び発生すると、新しいプライマリサーバのスロットは失われます。プライマリおよびスタンバイサーバのスロットの削除を避けるために、フェールオーバーのたびにcaptureを開始する必要があります。そのため、この拡張機能では、スタンバイサーバのスロットを非アクティブとしてマークするのが理想的です(非アクティブであることは、レプリケーションしても安全であることを意味するため)。詳細については、https://github.com/EnterpriseDB/pg_failover_slots/issues/25を参照してください。
注意:
|
学習内容
基本的なデモを行う前に、以下のものを用意してください。
ソースシステムのsplex.demo_srcをターゲットシステムのsplex.demo_destにレプリケートします。これらのテーブルはデフォルトでSharePlexスキーマにインストールされます(このデモでは「splex」)。お使いのSharePlexスキーマはこれとは異なることがあります。これらのテーブルが存在することを確認します。
列名 | データ型 | Null? |
---|---|---|
NAME | varchar2(30) | |
ADDRESS | verchar2(60) | |
PHONE | varchar2(12) |
|
以下は、SharePlexおよびsp_ctrlコマンドラインインターフェイスをUnixおよびLinux上で起動するための手順です。ソースシステムとターゲットシステムでSharePlexを起動します。
UnixおよびLinuxシステム上でSharePlexを起動するには、以下を実行します。
SharePlex製品ディレクトリのbinサブディレクトリから(以下の構文のproductdir)、sp_copとsp_ctrlを実行します。
$cd /productdir/bin
$./sp_cop &
$. /sp_ctrl
© 2024 Quest Software Inc. ALL RIGHTS RESERVED. Terms of Use Privacy Cookie Preference Center