Preskočiť na obsah

Prepnutie uzla LEADER

V niektorých prípadoch údržby môže byť užitočné prepnúť uzol LEADER clustera PostgreSQL, aby ste na ňom mohli vykonať operácie.

Skôr ako budete môcť zmeniť uzol LEADER, identifikujte aktuálny uzol LEADER clustera PostgreSQL a potom sa k nemu pripojte ako root.
Po pripojení ako root k uzlu LEADER spustite príkaz podobný nasledujúcemu, aby ste vyvolali okamžité prepnutie:

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

Nahraďte PSQL_NODE názvom uzla, ktorý sa stane uzlom LEADER.

Zlyhanie

Ak príkaz zlyhá, je možné, že neboli použité nasledujúce nastavenia: nastavenia pre patronictl.

Príklad

Pre nasledujúci cluster PostgreSQL:

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

Cieľom je nastaviť uzol PSQL_1 ako LEADER.
Najprv je teda potrebné pripojiť sa ako root k uzlu PSQL_3, ktorý je aktuálnym uzlom LEADER.
Po pripojení nasledujúci príkaz okamžite prepne LEADER na uzol PSQL_1:

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

Zmena topológie je potom viditeľná a dá sa overiť:

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