pgd raft restore#
Synopsis#
The pgd raft restore command restores Raft consensus in a cluster
that has lost it, for example after losing a majority of nodes in a
group. It identifies the minimum set of nodes that can be removed to
restore a working Raft majority, prioritizing witness nodes over data
nodes, displays the recovery plan, and removes those nodes immediately.
If consensus isn’t actually lost for the target group, the command makes no changes and reports that no action is needed.
Important
pgd raft restore is a disaster recovery command. It doesn't prompt for confirmation before removing nodes, and removing nodes from a cluster is irreversible. Removing more than the minimum required can cause avoidable data loss, so use --preview first.
Users and roles#
Requires the bdr_superuser role. See User roles .
Syntax#
pgd raft restore [OPTIONS]
Options#
Short |
Long |
Description |
|---|---|---|
--group |
Target a specific group by name. Defaults to the top-level group if not specified. |
|
--preview |
Show the nodes that would be removed to restore consensus, without removing them. |
See Global Options for common global options.
Examples#
Preview the nodes that would be removed#
pgd raft restore --group dc2_subgroup --preview
__OUTPUT__
Recovery plan for group dc2_subgroup:
Total voting nodes: 3, Alive: 2, Down: 1
Nodes to remove (1):
- kaput (witness)
Preview mode: no changes were made.
Restore consensus#
pgd raft restore --group dc2_subgroup
__OUTPUT__
Recovery plan for group dc2_subgroup:
Total voting nodes: 3, Alive: 2, Down: 1
Nodes to remove (1):
- kaput (witness)
Connecting to alive node kaftan ok
Connecting to alive node kaolin ok
Force-parting kaput on kaftan ok
Force-parting kaput on kaolin ok
Waiting for force-part to complete ok
Disabling consensus on all alive nodes ok
Exporting RAFT snapshot from kaftan ok
Importing RAFT snapshot on kaolin ok
Re-enabling consensus on all alive nodes ok
Waiting for RAFT leader election ok (leader: kaftan)
Verifying replication health ok
RAFT consensus successfully restored for group dc2_subgroup. 1 node(s) removed, 2 voting node(s) remaining.
No action needed#
If consensus isn’t actually lost, pgd raft restore makes no changes,
whether or not --preview is used:
pgd raft restore --group dc2_subgroup
__OUTPUT__
Consensus is not lost for group dc2_subgroup. No action needed.