Повторное использование старого мастера в качестве ведомого в PostgreSQL

У меня есть главный узел (A) и подчиненный узел (B).

Предположим, что контрольная точка произошла в момент времени T, и некоторые транзакции были завершены после контрольной точки (грязные страницы еще не сохранены на диске). Предположим, что позиция WAL после транзакции равна X.

Теперь узел A выходит из строя, и я выдвинул B как master.

Я хочу восстановить узел A и присоединить его в качестве ведомого к B (текущий мастер).

Я сомневаюсь, что транзакции, которые произошли в узле A (старый главный узел A), будут воспроизведены, а затем он воспроизведет потоковую передачу данных с текущего мастера (B)??

Мои вопросы

1) В этом случае, с какого момента транслируется поток от нового мастера к новому подчиненному? С контрольно-пропускного пункта или из положения Х?

2) когда старый мастер повторно используется в качестве подчиненного, откуда начинается воспроизведение? Любой старый подарок присутствует в узле?

1 ответ

Если узел A опережает узел B, вам нужно использовать pg_rewind перемотать его в состояние, в котором он может быть использован в качестве резервного для B.

Он определяет последнюю общую контрольную точку и заменяет все блоки, которые были изменены с тех пор.

Другие вопросы по тегам