← Все статьи

Patroni: реплика не запускается — как пересоздать её через reinit

Автор: Юрий Нефёдов, системный инженер · 11.07.2022 · обновлено 24.10.2026

Patroni управляет отказоустойчивым кластером PostgreSQL: следит за лидером и репликами и при сбое переключает лидера. Иногда реплика перестаёт запускаться, а в журнале нет ничего полезного, кроме строки:

Future log output will appear in directory "pg_log"

Чаще всего это значит, что данные реплики разошлись с лидером и сама она уже не догонит. Проще всего пересоздать её с нуля.

Посмотреть состояние кластера

patronictl -c /etc/patroni.yml list

Команда покажет всех участников, кто из них лидер и в каком состоянии реплики.

Пересоздать реплику

Команда reinit удаляет данные реплики и заново копирует их с лидера. Указывается имя кластера и имя реплики. Если имя реплики не указать, patronictl спросит его:

patronictl -c /etc/patroni.yml reinit pg-ha-cluster имя_реплики

Копирование идёт по сети и для большой базы может занять время, при этом нагружается лидер. Запускайте reinit только для реплики и лучше в спокойное время. После завершения проверьте состояние той же командой list.

Нужна помощь с настройкой?

Если задача сложнее, чем в статье, напишите мне. Первая консультация бесплатная.