Zum Inhalt

Den Knoten LEADER umschalten

In manchen Wartungsfällen kann es nützlich sein, den Knoten LEADER des PostgreSQL-Clusters umzuschalten, um Vorgänge auf ihm auszuführen.

Bevor Sie den Knoten LEADER wechseln können, identifizieren Sie den aktuellen Knoten LEADER des PostgreSQL-Clusters und verbinden Sie sich als root mit ihm.
Sobald Sie als root mit dem Knoten LEADER verbunden sind, führen Sie einen Befehl ähnlich dem folgenden aus, um die sofortige Umschaltung auszulösen:

1
patronictl -c /etc/patroni/config.yml failover --candidate PSQL_NODE --force

Ersetzen Sie PSQL_NODE durch den Namen des Knotens, der LEADER werden soll.

Fehler

Wenn der Befehl fehlschlägt, wurden möglicherweise die folgenden Parameter nicht angewendet: Parameter für patronictl.

Beispiel

Für den folgenden PostgreSQL-Cluster:

1
2
3
4
5
6
7
+ Cluster: 15-cleanroomvault5 ------+---------+---------+----+-----------+
| Member           | Host           | Role    | State   | TL | Lag in MB |
+------------------+----------------+---------+---------+----+-----------+
| PSQL_3           | psql_3         | Leader  | running | 2  |           |
| + PSQL_1         | psql_1         | Replica | running | 2  | 0         |
| + PSQL_2         | psql_2         | Replica | running | 2  | 0         |
+------------------+----------------+---------+---------+----+-----------+

Ziel ist es, den Knoten PSQL_1 zum LEADER zu machen.
Zunächst muss sich daher als root mit dem Knoten PSQL_3 verbunden werden, der der aktuelle LEADER ist.
Nach der Verbindung ermöglicht die Ausführung des folgenden Befehls die sofortige Umschaltung des LEADER auf den Knoten PSQL_1:

1
patronictl -c /etc/patroni/config.yml failover --candidate PSQL_1 --force

Die Änderung der Topologie ist anschließend sichtbar und überprüfbar:

1
2
3
4
5
6
7
+ Cluster: 15-cleanroomvault5 ------+---------+---------+----+-----------+
| Member           | Host           | Role    | State   | TL | Lag in MB |
+------------------+----------------+---------+---------+----+-----------+
| PSQL_1           | psql_1         | Leader  | running | 3  |           |
| + PSQL_3         | psql_3         | Replica | running | 3  | 0         |
| + PSQL_2         | psql_2         | Replica | running | 3  | 0         |
+------------------+----------------+---------+---------+----+-----------+