Вступить в клуб →
сложнаявопросPostgreSQL в эксплуатации: репликация, бэкапы, HA

После failover приложение пишет в бывшего лидера и получает ошибку read-only

Три узла PostgreSQL под Patroni, перед ними HAProxy:

listen postgres_write
    bind *:5000
    server pg1 10.0.0.11:5432 check
    server pg2 10.0.0.12:5432 check
    server pg3 10.0.0.13:5432 check

После автоматического переключения лидера часть запросов на запись падает с cannot execute INSERT in a read-only transaction. Как настроить HAProxy?

  • HTTP-проверка к REST API Patroni по пути лидера
  • Добавить balance leastconn в секцию
  • Уменьшить интервал TCP-проверки до 100 мс
  • Оставить в секции только pg1 как лидера

🔒 Проверка ответа — для участников клуба

  • Проверка ответа
  • Подсказка, если застряли
  • Разбор с объяснением, почему так
  • Прогресс по всем задачам и виртуальные собеседования
Зарегистрироваться →

Регистрация занимает минуту

Другие задачи раздела