Preskoči na sadržaj

Prebacivanje čvora LEADER

U nekim slučajevima održavanja može biti korisno prebaciti čvor LEADER klastera PostgreSQL kako bi se na njemu mogle izvršiti operacije.

Prije nego što promijenite čvor LEADER, utvrdite trenutačni čvor LEADER klastera PostgreSQL, a zatim se s njim povežite kao root.
Kada se povežete kao root s čvorom LEADER, pokrenite naredbu sličnu sljedećoj da biste izazvali trenutačno prebacivanje:

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

Zamijenite PSQL_NODE nazivom čvora koji će postati LEADER.

Neuspjeh

Ako naredba ne uspije, moguće je da nisu primijenjene sljedeće postavke: postavke za patronictl.

Primjer

Za sljedeći klaster 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         |
+------------------+----------------+---------+---------+----+-----------+

Cilj je postaviti čvor PSQL_1 kao LEADER.
Stoga se najprije treba povezati kao root s čvorom PSQL_3, koji je trenutačni LEADER.
Nakon povezivanja, izvršavanjem sljedeće naredbe uloga LEADER odmah se prebacuje na čvor PSQL_1:

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

Promjena topologije tada je vidljiva i može se provjeriti:

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