Aqbeż għall-kontenut

Qlib tan-nodu LEADER

F’xi każijiet ta’ manutenzjoni, jista’ jkun utli li taqleb in-nodu LEADER tal-cluster PostgreSQL biex twettaq operazzjonijiet fuqu.

Qabel ma tkun tista’ tibdel in-nodu LEADER, identifika n-nodu LEADER attwali tal-cluster PostgreSQL u mbagħad ikkonnettja miegħu bħala root.
Ladarba tkun ikkonnettjat bħala root man-nodu LEADER, ħaddem kmand simili għal dan li ġej biex tiskatta qlib immedjat:

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

Ibdel PSQL_NODE bl-isem tan-nodu li se jsir LEADER.

Falliment

Jekk il-kmand ifalli, jista’ jkun li s-settings li ġejjin ma ġewx applikati: settings għal patronictl.

Eżempju

Għall-cluster PostgreSQL li ġej:

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

L-għan huwa li n-nodu PSQL_1 isir LEADER.
Għalhekk, l-ewwel trid tikkonnettja bħala root man-nodu PSQL_3, li bħalissa huwa LEADER.
Ladarba tkun ikkonnettjat, il-kmand li ġej jaqleb immedjatament ir-rwol LEADER għan-nodu PSQL_1:

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

Imbagħad il-bidla fit-topoloġija tidher u tista’ tiġi vverifikata:

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