Přeskočit obsah

Přepnutí uzlu LEADER

V některých situacích údržby může být užitečné přepnout uzel LEADER clusteru PostgreSQL, aby na něm bylo možné provádět operace.

Než budete moci změnit uzel LEADER, zjistěte aktuální uzel LEADER clusteru PostgreSQL a poté se k němu připojte jako root.
Po připojení jako root k uzlu LEADER spusťte příkaz podobný následujícímu, abyste vyvolali okamžité přepnutí:

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

Nahraďte PSQL_NODE názvem uzlu, který se stane uzlem LEADER.

Selhání

Pokud příkaz selže, je možné, že nebyla použita následující nastavení: nastavení pro patronictl.

Příklad

Pro následující 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         |
+------------------+----------------+---------+---------+----+-----------+

Cílem je nastavit uzel PSQL_1 jako LEADER.
Nejprve je tedy nutné se připojit jako root k uzlu PSQL_3, který je aktuálním uzlem LEADER.
Po připojení umožní spuštění následujícího příkazu okamžité přepnutí role LEADER na uzel PSQL_1:

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

Změna topologie je poté viditelná a lze ji ověřit:

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