Hyppää sisältöön

LEADER-solmun vaihtaminen

Joissakin ylläpitotapauksissa voi olla hyödyllistä vaihtaa PostgreSQL-klusterin LEADER-solmu, jotta sillä voi tehdä toimenpiteitä.

Ennen kuin voit vaihtaa LEADER-solmua, tunnista PostgreSQL-klusterin nykyinen LEADER-solmu ja muodosta siihen yhteys root-käyttäjänä.
Kun olet yhteydessä LEADER-solmuun root-käyttäjänä, suorita seuraavan kaltainen komento välittömän vaihdon käynnistämiseksi:

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

Korvaa PSQL_NODE sen solmun nimellä, josta tulee LEADER.

Virhe

Jos komento epäonnistuu, on mahdollista, että seuraavia asetuksia ei ole otettu käyttöön: patronictl-komennon asetukset.

Esimerkki

Seuraavalle PostgreSQL-klusterille:

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

Tavoitteena on tehdä solmusta PSQL_1 uusi LEADER.
Siksi on ensin muodostettava yhteys root-käyttäjänä solmuun PSQL_3, joka on nykyinen LEADER.
Kun yhteys on muodostettu, seuraavan komennon suorittaminen vaihtaa LEADER-roolin välittömästi solmulle PSQL_1:

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

Topologian muutos on tämän jälkeen näkyvissä ja tarkistettavissa:

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