pg_probackup
pg_probackup copied to clipboard
Логика восстановления PITR при отсутствии необходмых wal
В настоящий момент при PITR и отсутствии необходимых wal для достижения указанной "точки", probackup просто прерывает работу с указанием того, что не найден необходимый для восстановления сегмент
Предложение: изменить поведелние probackup в подобных случаях таким образом, чтобы он после валидации копии (которая выполняется по-умолчанию), сообщал пользователю о том, что достижение указанной "точки" невозможно, но копия может быть восстановлена на такой-то момент (который определен по результатам валидации), с запросом подтверждения продолжения восстановления или отказа от такового. Вместе с тем предусмотреть механизм автоматического согласия на данный запрос.
Решаемая задача (для чего нам это надо): мы храним копии с большой глубиной (30 дней, и более), однако журналы хранятся только для последний нескольких копий (положим 3). Таким образом, журналов между копиями старше 3-ей нет. Для того чтобы восстановиться по состоянию на какую-то копию необходимо точно знать или временной отрезок или LSN (это можно узнать из информации по резервной копии и результатам валидации), т.е. это приводит к лишним действиям со стороны пользователя. Мне кажется, заметно удобнее (с точки зрения пользоватля) было бы указать точку восстановления в понятных величинах (дата/вермя), а probackup бы предложил подходящий вариант, с которым пользователь волен согласится или отказаться.
Как решение (стремное) в текущей ситуации можно запускать восстановление с ключом --no-validate
Добрый день!
Разве --recovery-target=latest
не делает именно то, что нужно?
Добрый день! Разве
--recovery-target=latest
не делает именно то, что нужно?
Если восстанавливать на последний доступный момент времени, то годится, а если необходимо восстановиться на какую-то не последнюю из имеющегося набора копий? Да, можно указать, на какую именно копию требуется восстановление, но для этого необходимо получить список копий, а потом запустить восстановление с указанными параметрами (LSN или еще чего). В моем сценарии "хочется" запустить команду, указав момент времени, а инструмент сам предложит варианты, типа "могу восстановить до такого момента, хочешь?". Таким образом мы убираем лишнее "пользовательское действие" по получению списка копий ...