Manuellen Failover mit Patroni durchführen
PostgreSQLPatroniBefehl
# 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>Was es tut
Befördert die angegebene Replica unabhängig vom Zustand des Leaders; gedacht für Fälle, in denen der automatische Failover nicht stattfand oder den falschen Knoten wählte.
Wann einsetzen
Wenn der Leader nicht erreichbar/fehlerhaft ist und der automatische Failover nicht ausgelöst wurde (z. B. im Pause-Modus), oder wenn du einen Wechsel auf einen bestimmten Knoten erzwingen musst.
Vorsicht
Bei asynchroner Replikation gehen Transaktionen verloren, die der Kandidat noch nicht empfangen hat (RPO > 0). Ist der Leader gesund, nutze Switchover statt Failover. Kehrt der alte Leader zurück, braucht er eventuell pg_rewind (wenn use_pg_rewind aktiviert ist) oder ein Reinit.
Verwandte Einträge
- Status, Topologie und Historie des Patroni-Clusters anzeigen
- Geplanten Switchover mit Patroni durchführen
- Defekte Replica mit Patroni neu aufbauen (reinit)
- Clusterweite Parameter in Patroni ändern (edit-config) und ausstehende Neustarts anwenden
- Patroni in den Wartungsmodus versetzen und zurück (pause/resume)
- Zustand von Patroni-DCS (etcd/Consul) und REST API prüfen