pgd raft sync-snapshot
======================

概要
----

``pgd raft sync-snapshot`` コマンドは、EDB
Postgres分散クラスター内のすべてのノードでRaft状態を同期させます、その状態が分岐した場合。

コマンドは、変更を行う前にプリフライトチェックを実行します。BDRバージョンを検証し、Raftリーダーを識別し、すべてのノードに到達可能であることを確認し、状態が既に同期しているかどうかを確認します。状態が既に一貫している場合、
``--ignore-sync-status``
が指定されていない限り、コマンドは変更せずに終了します。

変更が必要な場合、次のコマンド

1. すべてのノードでRaftを無効にします。

2. リーダーノードから現在のRaft状態をエクスポートします。

3. リーダーのRaft状態をすべてのフォロワーノードにインポートします。

4. すべてのノードでRaftを再度有効にし、リーダーが選択されるのを待ちます。

サブスクライバー専用グループは独自のRaftインスタンスを持たず、このコマンドの有効なターゲットではありません。サブスクライバ専用ノードを含むRaft状態を同期するには、
``--group`` なしでコマンドを実行します。

ユーザーとロール
^^^^^^^^^^^^^^^^

``bdr_superuser`` ロールが必要です。 :ref:`ユーザーロール <ユーザーロール>`  を参照してください。

構文
----

.. code:: plaintext

   pgd raft sync-snapshot [OPTIONS]

オプション
----------

``pgd raft sync-snapshot`` コマンドでは、次のオプションが使用できます。

.. csv-table::
  :header: Option,Default,Description
  :widths: 12,15,25
  :align: left
  :class: longtable

  --group,"",名前で特定のグループをターゲットにします。指定しない場合、デフォルトのトップレベルグループ。
  --check,false,クラスターに変更を加えずに、プリフライトチェックのみを実行します。
  --ignore-sync-status,false,Raftの状態がすべてのノードで既に一貫している場合でも、同期を続行します。

共通のグローバルオプションについては、 `Global Options <https://www.enterprisedb.com/docs/pgd/latest/reference/cli/command_ref/#global-options>`_ を参照してください。

例
--

プリフライトチェックのみを実行する
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

.. code:: shell

   pgd raft sync-snapshot --check
   __OUTPUT__
   Performing Raft Sync-Snapshot Pre-flight Checks
   - -----------------------------------------------
   Checking BDR version                                          ok (6.4.0)
   Resolving target group                                        ok (dc-1)
   Identifying raft leader                                       ok (leader: pgd-a1)
   Discovering cluster nodes                                     ok (3 nodes)
   Connecting to pgd-a1 (leader)                                 ok
   Connecting to pgd-a2                                          ok
   Connecting to pgd-a3                                          ok
   Validating node states                                        ok
   Checking raft sync status                                     ok (out of sync)

   Raft Sync-Snapshot Pre-flight Report
   - ------------------------------------
   Target group:    dc-1
   Raft leader:     pgd-a1
   Nodes in scope:  3 (pgd-a1, pgd-a2, pgd-a3)

   All pre-flight checks passed. Ready for sync-snapshot.

グローバルグループを同期する
^^^^^^^^^^^^^^^^^^^^^^^^^^^^

.. code:: shell

   pgd raft sync-snapshot
   __OUTPUT__
   Performing Raft Sync-Snapshot Pre-flight Checks
   - -----------------------------------------------
   Checking BDR version                                          ok (6.4.0)
   Resolving target group                                        ok (dc-1)
   Identifying raft leader                                       ok (leader: pgd-a1)
   Discovering cluster nodes                                     ok (3 nodes)
   Connecting to pgd-a1 (leader)                                 ok
   Connecting to pgd-a2                                          ok
   Connecting to pgd-a3                                          ok
   Validating node states                                        ok
   Checking raft sync status                                     ok (out of sync)

   Performing Raft Sync-Snapshot
   - ----------------------------
   Disabling raft on pgd-a1                                      WARNING:  disabling the consensus
   ok
   Disabling raft on pgd-a2                                      ok (already disabled)
   Disabling raft on pgd-a3                                      WARNING:  disabling the consensus
   ok
   Exporting snapshot from leader (pgd-a1)                       ok
   Importing snapshot on pgd-a2                                  ok
   Importing snapshot on pgd-a3                                  ok
   Re-enabling raft on pgd-a1                                    ok
   Re-enabling raft on pgd-a2                                    ok
   Re-enabling raft on pgd-a3                                    ok
   Waiting for raft recovery                                     ok (leader: pgd-a3)

   Raft sync-snapshot completed successfully.
