Administering PGD Proxy#

書き込みリーダーの切り替え#

書き込みリーダーの切り替えは、書き込みリーダーであるノードを変更するために実行できる手動操作です。 現在の書き込みリーダーノードでメンテナンスを実行する場合、または他の理由で書き込みリーダーを変更する場合に役立ちます。書き込みリーダーを変更する場合、strict とfast の2つのモードがあります。 strict モードでは、書き込みリーダーを切り替える前に遅延がチェックされます。スイッチオーバーを開始する前に、遅延がroute_writer_max_lag 未満になるまで待機します。これがデフォルトです。 fast モードでは、書き込みリーダーはすぐに切り替わります。 timeoutパラメーターを設定して、スイッチオーバーが完了するまで待機する時間を指定することもできます。

!!!注

スイッチオーバーの動作は動作を保証するものではありません。タイムアウトまたはその他の理由で、特定のターゲットノードへのスイッチオーバーが失敗した場合、PGDは別のノードを代わりに書き込みリーダーとして選択する場合があります。この他のノードには、現在の書き込みリーダーノードを含めることができます。スイッチオーバー操作が失敗した場合、 PGDは常に新しい書き込みリーダーを選択しようとします。

書き込みリーダーであるノードを別のノードに明示的に変更するスイッチオーバー操作を実行できます。

bdr.routing_leadership_transfer() ファンクションを使用します。

たとえば、書き込みリーダーをグループgroup1 のノードnode1 に切り替えるには、次のSQLコマンドを使用します。

SELECT bdr.routing_leadership_transfer(group1, node1,strict,10s);

このコマンドは、strict モードを使用して書き込みリーダーを切り替え、スイッチオーバーが完了するまで最大10秒待機します。これらはデフォルト設定であるため、次のように省略できます。

SELECT bdr.routing_leadership_transfer(group1, node1);

PGD CLIを使用する#

switchover コマンドを使用して、スイッチオーバー操作を実行できます。

たとえば、書き込みリーダーをノード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