Executar um failover manual com 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>O que faz
Promove a réplica especificada independentemente do estado do leader; destinado a casos em que o failover automático não ocorreu ou escolheu o nó errado.
Quando usar
Quando o leader está inacessível/não saudável e o failover automático não entrou em ação (ex.: em modo pause) ou quando é preciso forçar a mudança para um nó específico.
Atenção
Com replicação assíncrona, as transações ainda não recebidas pelo candidato são perdidas (RPO > 0). Se o leader estiver saudável, use switchover em vez de failover. Quando o antigo leader voltar, pode precisar de pg_rewind (se use_pg_rewind estiver habilitado) ou de um reinit.
Relacionados
- Mostrar o status, a topologia e o histórico do cluster Patroni
- Executar um switchover planejado com Patroni
- Reconstruir uma réplica quebrada com Patroni (reinit)
- Alterar parâmetros de todo o cluster no Patroni (edit-config) e aplicar restarts pendentes
- Colocar o Patroni em modo de manutenção e retirar (pause/resume)
- Verificar a saúde do DCS (etcd/Consul) e da REST API do Patroni