Към съдържанието

Превключване на възела LEADER

В някои случаи на поддръжка може да е полезно да превключите възела LEADER на клъстера PostgreSQL, за да извършите операции по него.

Преди да можете да смените възела LEADER, идентифицирайте текущия възел LEADER на клъстера PostgreSQL и след това се свържете с него като root.
След като сте свързани като root с възела LEADER, изпълнете команда, подобна на следната, за да задействате незабавно превключване:

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

Заменете PSQL_NODE с името на възела, който ще стане LEADER.

Неуспех

Ако командата е неуспешна, възможно е следните настройки да не са приложени: настройки за patronictl.

Пример

За следния клъстер 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         |
+------------------+----------------+---------+---------+----+-----------+

Целта е възелът PSQL_1 да стане LEADER.
Следователно първо е необходимо да се свържете като root с възела PSQL_3, който е текущият LEADER.
След свързването изпълнението на следната команда позволява незабавно превключване на LEADER към възела PSQL_1:

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

След това промяната в топологията е видима и може да бъде проверена:

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