Лабораторная работа № 5: Резервное копирование и восстановление данных в PostgreSQL

ВведениеРезервное копирование и восстановление данных — это важные аспекты управления базами данных. В PostgreSQL для этих целей используются утилиты pg_dump и pg_restore. В данной лабораторной работе мы изучим методы резервного копирования баз данных с помощью pg_dump и восстановления с помощью pg_restore.


1. Резервное копирование с помощью pg_dump

pg_dump — это утилита командной строки, которая позволяет создавать резервные копии баз данных PostgreSQL. Она может создавать дампы в различных форматах, включая текстовый и бинарный.Пример использования pg_dump:Для создания резервной копии базы данных можно использовать следующую команду:

bash

pg_dump -U username -W -F c -b -v -f backup_file.backup database_name

  • -U username — имя пользователя базы данных.
  • -W — запрос пароля.
  • -F c — формат резервной копии (в данном случае — кастомный).
  • -b — включает большие объекты.
  • -v — включает подробный вывод.
  • -f backup_file.backup — имя файла для сохранения резервной копии.
  • database_name — имя базы данных, которую нужно сохранить.

2. Восстановление данных с помощью pg_restore

pg_restore — это утилита, которая используется для восстановления баз данных из резервных копий, созданных с помощью pg_dump.Пример использования pg_restore:Для восстановления базы данных из резервной копии можно использовать следующую команду:

bash

pg_restore -U username -W -d database_name -v backup_file.backup

  • -U username — имя пользователя базы данных.
  • -W — запрос пароля.
  • -d database_name — имя базы данных, в которую будет выполнено восстановление.
  • -v — включает подробный вывод.
  • backup_file.backup — файл резервной копии, из которого будет выполнено восстановление.

3. Практическое задание

  1. Создайте базу данных и таблицы в PostgreSQL.
  2. Заполните таблицы тестовыми данными.
  3. Создайте резервную копию базы данных с помощью pg_dump.
  4. Удалите базу данных.
  5. Восстановите базу данных из резервной копии с помощью pg_restore.

Заключение

В данной лабораторной работе мы изучили основные методы резервного копирования и восстановления данных в PostgreSQL с использованием утилит pg_dump и pg_restore. Регулярное резервное копирование данных является важной практикой для обеспечения безопасности и целостности информации в базе данных.

Задания для лабораторной работы на тему резервного копирования и восстановления данных в PostgreSQL:

  1. Создание базы данных: Создайте новую базу данных с именем test_db и таблицу students с полями idfirstnamelastnamedate_of_birth.
  2. Заполнение таблицы данными: Добавьте в таблицу students не менее 10 записей с тестовыми данными.
  3. Резервное копирование базы данных: Используйте команду pg_dump для создания резервной копии базы данных test_db в файл test_db_backup.sql.
  4. Проверка резервной копии: Откройте файл test_db_backup.sql и проверьте, что он содержит корректные SQL-запросы для восстановления данных.
  5. Удаление базы данных: Удалите базу данных test_db с помощью команды DROP DATABASE.
  6. Восстановление базы данных: Восстановите базу данных из резервной копии, используя команду psql для выполнения SQL-запросов из файла test_db_backup.sql.
  7. Проверка данных после восстановления: После восстановления базы данных выполните запрос для проверки, что все записи в таблице students восстановлены.
  8. Создание резервной копии в формате tar: Создайте резервную копию базы данных test_db в формате tar с помощью pg_dump -F t.
  9. Восстановление из резервной копии в формате tar: Восстановите базу данных из резервной копии в формате tar, используя pg_restore.
  10. Автоматизация резервного копирования: Напишите скрипт на Bash, который будет автоматически создавать резервную копию базы данных каждый день в определенное время.