На главнуюПротокол ЛР-4
Безопасность систем баз данных · ЛР-4

Резервное копирование и восстановление PostgreSQL

Стенд: sNN.ksoib.ru · База: transport_lab · студент работает под sNN_student

Цель работы

Освоить безопасный сценарий логического резервного копирования и восстановления данных PostgreSQL и подтвердить возврат данных к сохранённому состоянию после контролируемого изменения.

Граница полномочий

Важно. Студент не получает административный доступ и не запускает pg_dump/pg_restore. Backup, контролируемое изменение и restore выполняет преподаватель. Студент фиксирует и проверяет состояние через штатный доступ.

1. Исходное состояние

SELECT clock_timestamp() AS checked_at, current_user, current_database();

SELECT id, booking_ref, fare_amount, currency, status
FROM transport.bookings
WHERE id = 1;

SELECT
  (SELECT count(*) FROM transport.bookings) AS bookings_count,
  (SELECT count(*) FROM transport.operational_events) AS events_count;

Запишите результаты в протокол.

2. Создание backup

Сообщите преподавателю номер своего стенда sNN. Преподаватель создаёт логическую резервную копию схемы transport штатным операторским сценарием.

3. Контролируемое изменение

После команды преподавателя повторите:

SELECT id, booking_ref, fare_amount, currency, status
FROM transport.bookings
WHERE id = 1;

Значение fare_amount должно отличаться от исходного. Зафиксируйте его.

4. Восстановление

После сообщения преподавателя о завершении restore повторите контрольный запрос и количества строк.

SELECT id, booking_ref, fare_amount, currency, status
FROM transport.bookings
WHERE id = 1;

SELECT
  (SELECT count(*) FROM transport.bookings) AS bookings_count,
  (SELECT count(*) FROM transport.operational_events) AS events_count;

5. Проверка результата

Сравните три состояния: до backup → после изменения → после restore. После restore данные должны совпасть с состоянием, сохранённым в backup.

Контрольные вопросы

  1. Почему студенту не выдаётся право самостоятельно выполнять restore?
  2. Чем restore отличается от полного reset стенда?
  3. Почему резервная копия должна храниться вне публичного web-каталога?
  4. Что происходит с изменениями, сделанными после создания backup, при восстановлении старой копии?

Что сдаётся

Заполненный протокол ЛР-4: номер стенда, исходное состояние, изменённое состояние, состояние после restore, контрольные количества и ответы на вопросы.

Открыть протокол