diff --git a/doc/repmgr-standby-promote.sgml b/doc/repmgr-standby-promote.sgml
index a68a4dda..3ef618c8 100644
--- a/doc/repmgr-standby-promote.sgml
+++ b/doc/repmgr-standby-promote.sgml
@@ -37,7 +37,8 @@
Beginning with repmgr 4.4,
the option can be used to have
- all other standbys follow the new primary.
+ all other standbys (and a witness server, if in use)
+ follow the new primary.
@@ -119,6 +120,11 @@
Have all sibling nodes (nodes formerly attached to the same upstream
node as the promotion candidate) follow this node after it has been promoted.
+
+ Note that a witness server, if in use, is also
+ counted as a "sibling node" as it needs to be instructed to
+ synchronise its metadata with the new primary.
+
Do not provide this option when configuring
diff --git a/doc/repmgr-standby-switchover.sgml b/doc/repmgr-standby-switchover.sgml
index 1e98913d..93f52a9a 100644
--- a/doc/repmgr-standby-switchover.sgml
+++ b/doc/repmgr-standby-switchover.sgml
@@ -26,7 +26,9 @@
these to follow the new primary if the option --siblings-follow
is specified. This requires a passwordless SSH connection between the promotion
candidate (new primary) and the nodes attached to the demotion candidate
- (existing primary).
+ (existing primary). Note that a witness server, if in use, is also
+ counted as a "sibling node" as it needs to be instructed to
+ synchronise its metadata with the new primary.
diff --git a/repmgr-action-standby.c b/repmgr-action-standby.c
index 19cbef79..fed07e3b 100644
--- a/repmgr-action-standby.c
+++ b/repmgr-action-standby.c
@@ -7057,9 +7057,17 @@ check_sibling_nodes(NodeInfoList *sibling_nodes, SiblingNodeStats *sibling_nodes
for (cell = sibling_nodes->head; cell; cell = cell->next)
{
appendPQExpBuffer(&nodes,
- " %s (node ID: %i)",
+ " %s (node ID: %i",
cell->node_info->node_name,
cell->node_info->node_id);
+
+ if (cell->node_info->type == WITNESS)
+ {
+ appendPQExpBufferStr(&nodes,
+ ", witness server");
+ }
+ appendPQExpBufferChar(&nodes,
+ ')');
if (cell->next)
appendPQExpBufferStr(&nodes, "\n");
}