Продолжаю разбираться с резервным копированием БД PostgreSQL. Появился следующий вопрос.
Насколько я понимаю, при восстановлении БД из архива Бармана, у меня получается директория с базовой копией + некоторое кол-во WAL файлов. При этом, при запуске PostgreSQL на базовую копию накатятся логи и БД придет в актуальное состояние.
Но мне непонятно каким образом сделать PITR, то есть я понимаю что можно восстановить на определенный момент времени или на определенную транзакцию, но как понять какую именно транзакцию мне надо или же в какой момент произошел сбой?
Вот допустим есть следующая последовательность транзакций:
- LSN: 1000 -> INSERT...
- LSN: 1001 -> INSERT...
- LSN: 1002 -> UPDATE...
- LSN: 1003 -> DELETE FROM...
- LSN: 1004 -> INSERT...
- LSN: 1005 -> UPDATE...
То есть, на транзакции 1003 произошло удаление и мне по идеи надо восстановиться до транзакции 1002 включительно и перевести БД в режим production.
Читая вдоль и поперек документацию, я так и не понял каким образом можно увидеть «глазами», что именно произошло с БД и при этом получить номер транзакции.
Не мог бы мне кто нибудь из знающих людей объяснить. Или я вообще ничего не понимаю в этом деле?