Zum Inhalt

Austausch des LEADER-Knoten

In einigen Wartungsfällen kann es sinnvoll sein, den PostgreSQL-Cluster LEADER zu wechseln, um Operationen darauf durchzuführen.

Bevor Sie den LEADER-Knoten ändern können, identifizieren Sie bitte den aktuellen LEADER-Knoten des PostgreSQL-Clusters und verbinden Sie sich dann mit ihm als root.
Wenn der root-Knoten als LEADER-Knoten verbunden ist, wird ein Befehl ausgegeben, der dem folgenden ähnelt, um einen sofortigen Umschalter auszulösen:

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

PSQL_NODE wird durch den Namen des Knoten ersetzt, der LEADER wird.

Failure

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

Example

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         |
+------------------+----------------+---------+---------+----+-----------+

Das Ziel ist, den Knoten zu überwinden. PSQL_1 insofern LEADER.
Es ist daher zunächst notwendig, sich mit dem root mit Knoten PSQL_3 Wer ist der aktuelle LEADER.
Die Ausführung des folgenden Befehls erlaubt die sofortige Umstellung des LEADER Vers le Nœud (im Englischen) PSQL_1 :

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

Die Änderung der Topologie ist dann sichtbar und nachweisbar:

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         |
+------------------+----------------+---------+---------+----+-----------+