repmgr cluster crosscheck

repmgr cluster crosscheck

cross-checks connections between each combination of nodes

## Description

`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.

## Exit codes

One of the following exit codes will be emitted by `repmgr cluster crosscheck`:

`SUCCESS (0)`

- The check completed successfully and all nodes are reachable.

`ERR_BAD_SSH (12)`

- One or more nodes could not be accessed via SSH.

  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.

`ERR_NODE_STATUS (25)`

- PostgreSQL on one or more nodes could not be reached.

  This error code overrides `ERR_BAD_SSH`.