Keri sisuni

LEADER-sõlme vahetamine

Mõne hooldusjuhtumi korral võib olla kasulik PostgreSQL-i klastri LEADER-sõlm vahetada, et sellega toiminguid teha.

Enne LEADER-sõlme vahetamist tuvastage PostgreSQL-i klastri praegune LEADER-sõlm ja looge sellega ühendus kasutajana root.
Kui olete LEADER-sõlmega kasutajana root ühendatud, käivitage järgmisega sarnane käsk, et algatada kohene ümberlülitus:

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

Asendage PSQL_NODE selle sõlme nimega, millest saab LEADER.

Tõrge

Kui käsk nurjub, võib põhjus olla selles, et järgmisi sätteid pole rakendatud: patronictl-i sätted.

Näide

Järgmise PostgreSQL-i klastri puhul:

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

Eesmärk on muuta sõlm PSQL_1 uueks LEADER-iks.
Seetõttu tuleb esmalt luua kasutajana root ühendus sõlmega PSQL_3, mis on praegune LEADER.
Kui ühendus on loodud, lülitab järgmise käsu käivitamine LEADER-i kohe sõlmele PSQL_1:

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

Seejärel on topoloogia muudatus nähtav ja kontrollitav:

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