Добрый день.
У меня настроена каскадная репликация с одного мастера идет слейв который в свою очередь после синхронизации реплицирует на последний слейв.
OC - Ubuntu 18
СУБД - PostgreSQL 10
https://postgrespro.ru/docs/postgrespro/10/warm-standby
Проблема заключается в том что на слейвах у меня ощибка
error requested wal segment has already been removed.
Правильно ли Я понимаю что эта ошибка говорит о том что Если база с которой настроенно получение WAL уже удалила сегмент - то тут как раз репликация и встанет с ошибкой, что такого сегмента уже нет. Если его восстановить неоткуда - то необходимо копировать реплику заново. Наиболее простой способ - через pg_basebackup.
https://ru.stackoverflow.com/questions/972585/post...
В связи с этим есть вопросы:
1. Можно сделать это как то подругому ?
К примеру:
Остановить слейв скопировать с мастера папку pg_wal с файлами и запустить его ? Не станет ли слейв после этого мастером ?
Я просто не понимаю что нужно будет делать на слейве что бы он догнал мастер. Иными словами как востонавливать пошагово.
2. Могла ли данная ошибка возникнуть из-за того что Я делаю на мастере pg_basebackup -D /my_dir. Которая в свою очередь лочит базу и репликация не может пройти. Точнее она проходит но с ошибкой.
Тогда как делать правильно pg_basebackup что бы не ломалась реплика ?