Выбор ответа Middle Базы данных в эксплуатации спрашивают часто обновлено
Восстановление на момент времени
Вопрос
В 14:32 кто-то выполнил DELETE FROM orders без WHERE. Ежесуточный pg_dump делается в 03:00. Что позволило бы восстановить данные на 14:31?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Физический бэкап с архивом WAL и recoverytargettime. PITR проигрывает WAL поверх базовой копии до нужного момента.
Варианты ответа
- Логический дамп в 03:00 плюс повторный ввод заказов вручную
- Асинхронная реплика: на ней данные на момент удаления ещё остались
- Команда
ROLLBACKот имени суперпользователя для последней транзакции - Физический бэкап с архивом WAL и
recovery_target_timeправильный ответ
Разбор
PITR проигрывает WAL поверх базовой копии до нужного момента. Дамп в 03:00 потеряет всё за 11 с лишним часов. Реплика применит DELETE через миллисекунды, репликация не защищает от логических ошибок (только отложенная реплика с recovery_min_apply_delay). Закоммиченную транзакцию откатить нельзя.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.