По порядку Senior Базы данных в эксплуатации обновлено
Восстановление PostgreSQL на момент времени
Вопрос
Расставьте шаги восстановления PostgreSQL на момент перед ошибочным DELETE.
Попробуйте сами
Расставьте шаги по порядку стрелками.
- 1Определить точное время ошибки по логам приложения или базы
- 2Развернуть последнюю базовую копию до этого момента
- 3Проверить данные и перенести нужные строки в рабочую базу или переключиться
- 4Запустить восстановление: PostgreSQL проиграет WAL до цели
- 5Настроить restore_command и recovery_target_time
- 6Поднять новый сервер, не трогая текущую базу
Показать ответ и разбор
Коротко
Восстанавливать рядом, а не поверх работающей базы: так сохраняются данные, записанные после ошибки, а нужные строки переносятся точечно. Базовая копия нужна сделанная до момента ошибки, WAL доигрывает с неё до цели.
Правильный порядок
- 1Определить точное время ошибки по логам приложения или базы
- 2Поднять новый сервер, не трогая текущую базу
- 3Развернуть последнюю базовую копию до этого момента
- 4Настроить restore_command и recovery_target_time
- 5Запустить восстановление: PostgreSQL проиграет WAL до цели
- 6Проверить данные и перенести нужные строки в рабочую базу или переключиться
Разбор
Восстанавливать рядом, а не поверх работающей базы: так сохраняются данные, записанные после ошибки, а нужные строки переносятся точечно. Базовая копия нужна сделанная до момента ошибки, WAL доигрывает с неё до цели.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.