DBAtlas · 数据库运维图谱

使用 Patroni 执行计划内主备切换

PostgreSQLPatroni

命令

# 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

作用

有控制地降级健康的 leader 并提升所选副本(--candidate);原 leader 会自动作为新 leader 的副本重新加入。--scheduled 将操作推迟到指定时间。

适用场景

用于在维护前(操作系统补丁、硬件更换、小版本升级)将主库迁移到另一节点,或在故障转移后恢复原始角色。

注意

leader 变更时所有连接都会断开;应用必须能够重连。如果候选者的延迟超过 maximum_lag_on_failover,Patroni 会拒绝主备切换。启用 synchronous_mode 时,候选者必须是同步备库。

在 DBAtlas 中打开 →

相关内容