Effectuer un failover manuel avec Patroni
PostgreSQLPatroniCommande
# Manual failover while the leader is unhealthy (candidate is mandatory):
patronictl -c /etc/patroni/patroni.yml failover <cluster> --candidate <member> --force
# Verify the result and the new timeline:
patronictl -c /etc/patroni/patroni.yml list <cluster>
patronictl -c /etc/patroni/patroni.yml history <cluster>Ce que fait la commande
Promeut la réplique indiquée quel que soit l'état du leader ; destiné aux cas où le failover automatique n'a pas eu lieu ou a choisi le mauvais nœud.
Quand l'utiliser
Lorsque le leader est injoignable/défaillant et que le failover automatique ne s'est pas déclenché (par ex. en mode pause), ou lorsque vous devez forcer le passage vers un nœud précis.
Attention
Avec une réplication asynchrone, les transactions pas encore reçues par le candidat sont perdues (RPO > 0). Si le leader est sain, utilisez switchover au lieu de failover. Au retour de l'ancien leader, il peut nécessiter pg_rewind (si use_pg_rewind est activé) ou un reinit.
Voir aussi
- Afficher l'état, la topologie et l'historique du cluster Patroni
- Effectuer un switchover planifié avec Patroni
- Reconstruire une réplique défaillante avec Patroni (reinit)
- Modifier les paramètres du cluster dans Patroni (edit-config) et appliquer les redémarrages en attente
- Mettre Patroni en mode maintenance et en sortir (pause/resume)
- Vérifier la santé du DCS Patroni (etcd/Consul) et de l'API REST