Managing a cluster
Cluster information
To get information about the cluster, use the list
or topology
endpoints:
patronictl -c /etc/patroni.yml list
Output
+ Cluster: demo-cluster-1 (7106835957012965359) ----+----+-----------+ | Member | Host | Role | State | TL | Lag in MB | +-------------+-----------------+---------+---------+----+-----------+ | pg-patroni1 | xxx.xxx.xxx.xxx | Leader | running | 1 | | | pg-patroni2 | xxx.xxx.xxx.xxx | Replica | running | 1 | 0 | +-------------+-----------------+---------+---------+----+-----------+
patronictl -c /etc/patroni.yml topology
Output
+ Cluster: demo-cluster-1 (7106835957012965359) ------+----+-----------+ | Member | Host | Role | State | TL | Lag in MB | +---------------+-----------------+---------+---------+----+-----------+ | pg-patroni1 | xxx.xxx.xxx.xxx | Leader | running | 1 | | | + pg-patroni2 | xxx.xxx.xxx.xxx | Replica | running | 1 | 0 | +---------------+-----------------+---------+---------+----+-----------+
Patroni logs
Patroni logs are sent to system logs by systemd. Use the journalctl
system utility to fetch it:
sudo journalctl -u patroni.service -n 100 -f
Output
Jun 08 12:26:29 pg-patroni1 patroni[26589]: 2022-06-08 12:26:29,000 INFO: no action. I am (pg-patroni1), a secondary, and following a leader (pg-patroni2) ...
Maintenance mode
To pause or resume cluster management, use:
patronictl -c /etc/patroni.yml pause
Output
Success: cluster management is paused
patronictl -c /etc/patroni.yml list
Output
+ Cluster: demo-cluster-1 (7106835957012965359) ----+----+-----------+ | Member | Host | Role | State | TL | Lag in MB | +-------------+-----------------+---------+---------+----+-----------+ | pg-patroni1 | xxx.xxx.xxx.xxx | Leader | running | 1 | | | pg-patroni2 | xxx.xxx.xxx.xxx | Replica | running | 1 | 0 | +-------------+-----------------+---------+---------+----+-----------+ Maintenance mode: on
patronictl -c /etc/patroni.yml resume
Output
Success: cluster management is resumed
Manual failover or switchover
The failover endpoint allows you to perform a manual failover when there are no healthy nodes. It doesn't allow you to schedule a switchover.
Usage: patronictl failover [OPTIONS] [CLUSTER_NAME] Failover to a replica Options: --master TEXT The name of the current master --candidate TEXT The name of the candidate --force Do not ask for confirmation at any point --help Show this message and exit.
The switchover endpoint works only when the cluster is healthy, that is, there's a leader. It allows you to schedule a switchover.
Usage: patronictl switchover [OPTIONS] [CLUSTER_NAME] Switchover to a replica Options: --master TEXT The name of the current master --candidate TEXT The name of the candidate --scheduled TEXT Timestamp of a scheduled switchover in unambiguous format (e.g. ISO 8601) --force Do not ask for confirmation at any point --help Show this message and exit.
Example:
patronictl -c /etc/patroni.yml switchover --candidate pg-patroni2
Output
Master [pg-patroni1]: When should the switchover take place (e.g. 2022-06-08T13:14 ) [now]: Current cluster topology + Cluster: demo-cluster-1 (7106835957012965359) ----+----+-----------+ | Member | Host | Role | State | TL | Lag in MB | +-------------+-----------------+---------+---------+----+-----------+ | pg-patroni1 | xxx.xxx.xxx.xxx | Leader | running | 1 | | | pg-patroni2 | xxx.xxx.xxx.xxx | Replica | running | 1 | 0 | +-------------+-----------------+---------+---------+----+-----------+ Are you sure you want to switchover cluster demo-cluster-1, demoting current master pg-patroni1? [y/N]: y 2022-06-08 12:14:48.01625 Successfully switched over to "pg-patroni2" + Cluster: demo-cluster-1 (7106835957012965359) ----+----+-----------+ | Member | Host | Role | State | TL | Lag in MB | +-------------+-----------------+---------+---------+----+-----------+ | pg-patroni1 | xxx.xxx.xxx.xxx | Replica | stopped | | unknown | | pg-patroni2 | xxx.xxx.xxx.xxx | Leader | running | 1 | | +-------------+-----------------+---------+---------+----+-----------+
patronictl -c /etc/patroni.yml list
Output
+ Cluster: demo-cluster-1 (7106835957012965359) ----+----+-----------+ | Member | Host | Role | State | TL | Lag in MB | +-------------+-----------------+---------+---------+----+-----------+ | pg-patroni1 | xxx.xxx.xxx.xxx | Replica | running | 2 | 0 | | pg-patroni2 | xxx.xxx.xxx.xxx | Leader | running | 2 | | +-------------+-----------------+---------+---------+----+-----------+
patronictl -c /etc/patroni.yml history
Output
+----+----------+------------------------------+----------------------------------+-------------+ | TL | LSN | Reason | Timestamp | New Leader | +----+----------+------------------------------+----------------------------------+-------------+ | 1 | 67109024 | no recovery target specified | 2022-06-08T12:14:47.785857+00:00 | pg-patroni2 | +----+----------+------------------------------+----------------------------------+-------------+
Could this page be better? Report a problem or suggest an addition!