Kihagyás

A LEADER csomópont átkapcsolása

Bizonyos karbantartási esetekben hasznos lehet a PostgreSQL-fürt LEADER csomópontjának átkapcsolása, hogy műveleteket lehessen végezni rajta.

A LEADER csomópont módosítása előtt azonosítsa a PostgreSQL-fürt aktuális LEADER csomópontját, majd csatlakozzon hozzá root felhasználóként.
Miután root felhasználóként csatlakozott a LEADER csomóponthoz, futtasson az alábbihoz hasonló parancsot az azonnali átkapcsolás elindításához:

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

Cserélje le a PSQL_NODE értéket annak a csomópontnak a nevére, amely LEADER lesz.

Hiba

Ha a parancs sikertelen, lehetséges, hogy a következő beállítások nem lettek alkalmazva: a patronictl beállításai.

Példa

A következő PostgreSQL-fürt esetén:

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

A cél az, hogy a PSQL_1 csomópont legyen a LEADER.
Ezért először root felhasználóként csatlakozni kell a PSQL_3 csomóponthoz, amely a jelenlegi LEADER.
A csatlakozás után a következő parancs futtatásával a LEADER szerep azonnal átkerül a PSQL_1 csomópontra:

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

A topológia módosítása ezután látható és ellenőrizhető:

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