powered by simpleCommunicator - 2.0.41     © 2025 Programmizd 02
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Падение асинхронной репликации при сетевом разрыве
5 сообщений из 5, страница 1 из 1
Падение асинхронной репликации при сетевом разрыве
    #40056208
Shab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день!

Наблюдаю остановку доставки логов на реплику при разрыве-восстановлении соединения.
postgres 13.1, master-replication, async

Проверял как работает отставание на стендбае
recovery_min_apply_delay=1h
переружаю реплику, делаю create table на праймари, через 5 минут вижу в pg_stat_replication отставание растет. Пока все нормально, новые логи качаются на реплику, но не накатываются.

Рвем соединение на мастере опусканием сети. Делаем pg_switch_wal, наблюдаем пустой pg_stat_replication. Поднимаем сеть. Ожидаем появления записи в pg_stat_replication. Облом.
FATAL: terminating walsender due to timeout

Реплика
FATAL: terminating walreceiver due to timeout
Перегружаем реплику. А она говорит, что отставание в пределах нормы и логи качать не желает.
consistent recovery state reached at 16/6B01C640
На праймари пустой pg_stat_replication.

Вопрос: Что подкрутить, чтобы доставка логов восстанавливала свою работу при восстановлении связи?
FATAL: terminating walreceiver due to timeout - зачем ему приказали падать, приложения обычно пишут так, чтобы переконнекчиваться по иксепшену на разрыве соединения.
...
Рейтинг: 0 / 0
Падение асинхронной репликации при сетевом разрыве
    #40056213
Melkij
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shab,

выключить recovery_min_apply_delay.
У реплики уже локально лежат загруженные ранее WAL'ы, код startup делает не совсем лишённую смысла мысль, что walreceiver можно запустить когда обработаем всё что уже лежит локально и не надо это перекачивать заново.
...
Рейтинг: 0 / 0
Падение асинхронной репликации при сетевом разрыве
    #40056219
Shab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Melkij,

У меня отстающая реплика. Я хочу чтобы она отставала на указанное время, но логи качались без отставания.
Это нужно, чтобы в любое время докатить PITR куда надо.

Да и вообще, перегрузка реплики - это была просто проверка. Переподнимание walreceiver вот главная проблема.
...
Рейтинг: 0 / 0
Падение асинхронной репликации при сетевом разрыве
    #40056226
Melkij
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shab,

та неважно что вы хотите.
walreceiver запускается (и перезапускается) только когда обработаны все уже загруженные wal. Именно так работает startup с recovery_min_apply_delay. Корректируйте хотелки относительно этого факта.

Для pitr делают архив wal. Отдельная реплика с recovery_min_apply_delay может помочь быстрее развернуться, но не заменяет сам архив wal.
...
Рейтинг: 0 / 0
Падение асинхронной репликации при сетевом разрыве
    #40056231
Shab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробую поиграться с wal_receiver_timeout=0

Спасибо

ps: да, он не отваливается, а ждет появления сети. Умница!
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Падение асинхронной репликации при сетевом разрыве
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]