33.5. Cluster Services #

The Postgres Pro Shardman cluster configuration is stored in etcd. Postgres Pro Shardman cluster services are organized as systemd services. The Postgres Pro Shardman configuration daemon shardmand monitors the cluster configuration and manages PostgreSQL instances. Each node has one shardmand service, whose typical name is shardmand@CLUSTER_NAME.service. Here CLUSTER_NAME is the Postgres Pro Shardman cluster name, cluster0 by default.

Each shardmand includes several integrated keeper threads.

Each registered DBMS instance has an associated keeper thread that directly manages this PostgreSQL instance. The keeper starts, stops, initializes and update PostgreSQL instances according to the desired cluster state. Postgres Pro Shardman only uses synchronous replicas (otherwise, there is a chance to lose data when a node fails).

shardmand is a systemd unit, its logs are written to journald. You can use journalctl to examine it. For example, to get all logs since 2023-05-09 10:00 for the shardmand service of the cluster0 cluster, you can use the following command:

                $ journalctl -u shardmand@cluster0 --since '2023-05-09 10:00'
            

To control the log verbosity for all Postgres Pro Shardman services, set SDM_LOG_LEVEL in the shardmand configuration file.