Продолжаю разбираться с резервным копированием БД PostgreSQL. Появился следующий вопрос.

Насколько я понимаю, при восстановлении БД из архива Бармана, у меня получается директория с базовой копией + некоторое кол-во WAL файлов. При этом, при запуске PostgreSQL на базовую копию накатятся логи и БД придет в актуальное состояние.

Но мне непонятно каким образом сделать PITR, то есть я понимаю что можно восстановить на определенный момент времени или на определенную транзакцию, но как понять какую именно транзакцию мне надо или же в какой момент произошел сбой?

Вот допустим есть следующая последовательность транзакций:

- LSN: 1000 -> INSERT IGNORE...
- LSN: 1001 -> INSERT IGNORE...
- LSN: 1002 -> UPDATE...
- LSN: 1003 -> DELETE FROM...
- LSN: 1004 -> INSERT IGNORE...
- LSN: 1005 -> UPDATE...

То есть, на транзакции 1003 произошло удаление и мне по идеи надо восстановиться до транзакции 1002 включительно и перевести БД в режим production.

Читая вдоль и поперек документацию, я так и не понял каким образом можно увидеть «глазами», что именно произошло с БД и при этом получить номер транзакции.

Не мог бы мне кто нибудь из знающих людей объяснить. Или я вообще ничего не понимаю в этом деле?








 , ,






URL записи