Administering PGD Proxy#
書き込みリーダーの切り替え#
書き込みリーダーの切り替えは、書き込みリーダーであるノードを変更するために実行できる手動操作です。現在の書き込みリーダーノードでメンテナンスを実行する場合、または他の理由で書き込みリーダーを変更する場合に役立ちます。書き込みリーダーを変更する場合、strict
とfast の2つのモードがあります。 strict
モードでは、書き込みリーダーを切り替える前に遅延がチェックされます。スイッチオーバーを開始する前に、遅延がroute_writer_max_lag
未満になるまで待機します。これがデフォルトです。 fast
モードでは、書き込みリーダーはすぐに切り替わります。
timeoutパラメーターを設定して、スイッチオーバーが完了するまで待機する時間を指定することもできます。
注釈
スイッチオーバー動作は保証されていません。タイムアウトまたはその他の理由で、特定のターゲットノードへのスイッチオーバーが失敗した場合、PGDは別のノードを代わりに書き込みリーダーとして選択する場合があります。この他のノードには、現在の書き込みリーダーノードを含めることができます。スイッチオーバー操作が失敗した場合、 PGDは常に新しい書き込みリーダーを選択しようとします。 !!!
SQLを使用する#
書き込みリーダーであるノードを別のノードに明示的に変更するスイッチオーバー操作を実行できます。
bdr.routing_leadership_transfer() ファンクションを使用します。
たとえば、書き込みリーダーをグループgroup1 のノードnode1
に切り替えるには、次のSQLコマンドを使用します。
edb_notranlate_0 このコマンドは、strict
モードを使用して書き込みリーダーを切り替え、スイッチオーバーが完了するまで最大10秒待機します。これらはデフォルト設定であるため、省略できます。
SELECT bdr.routing_leadership_transfer(group1, node1);
PGD CLIを使用する#
スイッチオーバー コマンドを使用して、スイッチオーバー操作を実行できます。
たとえば、書き込みリーダーをノードnode1 からグループgroup1
のノードnode2 に切り替えるには、次のコマンドを使用します。
pgd switchover --node-group group1 --node-name node1 --method strict --timeout 10s
このコマンドは、strict
モードを使用して書き込みリーダーを切り替え、スイッチオーバーが完了するまで最大10秒待機します。これらはデフォルト設定であるため、省略できます。
pgd switchover --node-group group1 --node-name node1