repmgr cluster crosscheck is similar to repmgr cluster matrix, but cross-checks connections between each combination of nodes. In "Example 3" in repmgr cluster matrix we have no information about the state of node3. However by running repmgr cluster crosscheck it's possible to get a better overview of the cluster situation:
$ repmgr -f /etc/repmgr.conf cluster crosscheck Name | Id | 1 | 2 | 3 -------+----+----+----+---- node1 | 1 | * | * | x node2 | 2 | * | * | * node3 | 3 | * | * | *
What happened is that repmgr cluster crosscheck merged its own repmgr cluster matrix with the repmgr cluster matrix output from node2; the latter is able to connect to node3 and therefore determine the state of outbound connections from that node.
One of the following exit codes will be emitted by repmgr cluster crosscheck:
The check completed successfully and all nodes are reachable.
One or more nodes could not be accessed via SSH.
Note: This only applies to nodes unreachable from the node where this command is executed.
It's also possible that the crosscheck establishes that connections between PostgreSQL on all nodes are functioning, even if SSH access between some nodes is not possible.
PostgreSQL on one or more nodes could not be reached.
Note: This error code overrides ERR_BAD_SSH.