Realizar un failover manual con Patroni
PostgreSQLPatroniComando
# 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>Qué hace
Promueve la réplica indicada independientemente del estado del leader; pensado para los casos en que el failover automático no se produjo o eligió el nodo equivocado.
Cuándo usarlo
Cuando el leader no es accesible/no está sano y el failover automático no se activó (p. ej., en modo pause), o cuando debe forzar el paso a un nodo concreto.
Precaución
Con replicación asíncrona, las transacciones que el candidato aún no ha recibido se pierden (RPO > 0). Si el leader está sano, use switchover en lugar de failover. Cuando el antiguo leader vuelva puede necesitar pg_rewind (si use_pg_rewind está habilitado) o un reinit.
Relacionado
- Mostrar el estado, la topología y el historial del clúster Patroni
- Realizar un switchover planificado con Patroni
- Reconstruir una réplica dañada con Patroni (reinit)
- Cambiar parámetros de todo el clúster en Patroni (edit-config) y aplicar los reinicios pendientes
- Poner Patroni en modo mantenimiento y salir de él (pause/resume)
- Comprobar la salud del DCS de Patroni (etcd/Consul) y de la REST API