Skoči na vsebino

Preklop vozlišča LEADER

V nekaterih primerih vzdrževanja je lahko koristno preklopiti vozlišče LEADER gruče PostgreSQL, da lahko na njem izvedete operacije.

Preden lahko zamenjate vozlišče LEADER, ugotovite trenutno vozlišče LEADER gruče PostgreSQL in se nato z njim povežite kot root.
Ko ste kot root povezani z vozliščem LEADER, zaženite ukaz, podoben naslednjemu, da sprožite takojšen preklop:

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

Zamenjajte PSQL_NODE z imenom vozlišča, ki bo postalo LEADER.

Neuspeh

Če ukaz ne uspe, morda niso bile uporabljene naslednje nastavitve: nastavitve za patronictl.

Primer

Za naslednjo gručo 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 nastaviti vozlišče PSQL_1 kot LEADER.
Najprej se je zato treba kot root povezati z vozliščem PSQL_3, ki je trenutni LEADER.
Ko ste povezani, z izvedbo naslednjega ukaza takoj preklopite LEADER na vozlišče PSQL_1:

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

Sprememba topologije je nato vidna in jo je mogoče preveriti:

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