DBAtlas · Atlas de operaciones de bases de datos

Realizar un switchover planificado con Patroni

PostgreSQLPatroni

Comando

# Immediate switchover without confirmation:
patronictl -c /etc/patroni/patroni.yml switchover <cluster> --leader <leader_member> --candidate <member> --force
# Scheduled switchover (ISO 8601 timestamp with time zone):
patronictl -c /etc/patroni/patroni.yml switchover <cluster> --leader <leader_member> --candidate <member> --scheduled '2026-10-10T02:00:00+03:00' --force
# Cancel a pending scheduled switchover:
patronictl -c /etc/patroni/patroni.yml flush <cluster> switchover

Qué hace

Degrada de forma controlada al leader sano y promueve la réplica elegida (--candidate); el antiguo leader se reincorpora automáticamente como réplica del nuevo leader. --scheduled aplaza la operación a la hora indicada.

Cuándo usarlo

Para mover el primario a otro nodo antes de un mantenimiento (parches del SO, sustitución de hardware, upgrade de versión menor) o para restaurar los roles originales tras un failover.

Precaución

Todas las conexiones se cortan cuando cambia el leader; la aplicación debe poder reconectarse. Patroni rechaza el switchover si el lag del candidato supera maximum_lag_on_failover. Con synchronous_mode habilitado, el candidato debe ser un standby síncrono.

Abrir en DBAtlas →

Relacionado