
POD-2LR-4
.docxМИНИСТЕРСТВО ЦИФРОВОГО РАЗВИТИЯ,
СВЯЗИ И МАССОВЫХ КОММУНИКАЦИЙ РОССИЙСКОЙ ФЕДЕРАЦИИ
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ
«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ТЕЛЕКОММУНИКАЦИЙ ИМ. ПРОФ. М.А. БОНЧ-БРУЕВИЧА»
(СПбГУТ)
Факультет: Кибербезопасности
Кафедра: Защищенных систем связи
Дисциплина: Основы построения сертифицированных защищенных БД РФ
ОТЧЕТ ПО ЛАБОРАТОРНОЙ РАБОТЕ №4
РЕЗЕРВНОЕ КОПИРОВАНИЕ
(тема отчета)
Направление/специальность подготовки
10.03.01 Информационная безопасность
(код и наименование направления/специальности)
Выполнили работу:
Травкина Е.А., ИКБ-14
(Ф.И.О., № группы) (подпись)
Федченко А.С., ИКБ-14
(Ф.И.О., № группы) (подпись)
Ящук А.А., ИКБ-14
(Ф.И.О., № группы) (подпись)
Принял работу:
к.т.н., доцент, Пестов И.Е.
(должность, Ф.И.О.) (подпись)
Оглавление
Цель лабораторной работы 3
Задачи 3
Используемое программное обеспечение 3
Ход выполнения лабораторной работы 3
Вывод 5
Листинг 6
Цель лабораторной работы
Изучить процесс резервного копирования баз данных стандартными командами в PostgreSQL.
Задачи
Для достижения поставленной цели были разработаны следующие задачи:
создать новую базу данных db2;
создать новый tablespace для db2 для хранения данных в различных директориях;
выполнить резервное копирование данных из базы данных db1 в новую базу данных db2;
проверить целостность восстановленных данных.
Используемое программное обеспечение
Для выполнения лабораторной работы используется установленный дистрибутив ОС Astra Linux.
Ход выполнения лабораторной работы
Для выполнения лабораторной работы были выполнены следующие шаги:
Необходимо создать новую базу данных db2 (см. Рис. 1), которая станет резервной копией базы данных db1, созданной в 1 лабораторной работе.
Рис. 1. Создание db2
Далее нужно создать новый tablespace (см. Рис. 2) и поменять директорию для db2 на созданную (см. Рис. 3).
Рис. 2. Создание новой директории для bd2
Рис. 3. Смена tablespace для db2
Проверку tablespace баз данных можно выполнить командой продемонстрированной на Рис. 4.
Рис. 4. Вывод баз данных и их tablespace
Далее для резервного копирования необходимо воспользоваться командой pg_dump для создания резервной копии базы данных db1 и последующего восстановления в db2 (см. Рис. 5).
Рис. 5. Команда для резервного копирования базы данных
Проверку данных можно произвести путём подключения к новой базе данных db2 и выполнения запросов для проверки наличия таблиц (см. Рис. 6). Все данные db1 теперь скопированы в db2.
Рис. 6. Вывод таблиц db2
Вывод
В ходе лабораторной работы был успешно выполнен процесс резервного копирования и восстановления базы данных PostgreSQL с использованием нового tablespace. Создание новой базы данных db2 и tablespace позволило расширить знания о работе с PostgreSQL и управлении данными. Результаты работы подтвердили целостность и доступность данных в восстановленной базе, что свидетельствует о корректности выполненных операций резервного копирования и восстановления.
Листинг
postgres=# CREATE DATABASE db2;
CREATE DATABASE
user@server:~$ sudo mkdir -p /mnt/pg_data/tablespace/conf_star
user@server:~$ sudo chmod 700 /mnt/pg_data/tablespace/conf_star
user@server:~$ sudo chown postgres:postgres /mnt/pg_data/tablespace/conf_star
postgres=# CREATE TABLESPACE conf_star LOCATION '/mnt/pg_data/tablespace/conf_star';
CREATE TABLESPACE
postgres=# ALTER DATABASE db2 SET TABLESPACE conf_star;
ALTER DATABASE
postgres=# SELECT datname, spcname
FROM pg_database d LEFT JOIN pg_tablespace t ON d.dattablespace = t.oid;
datname | spcname
-----------+------------
postgres | pg_default
template1 | pg_default
template0 | pg_default
db1 | pg_default
db2 | conf_star
(5 строк)
postgres=# \c db1
db1=# \dt
Список отношений
Схема | Имя | Тип | Владелец
--------+----------+---------+----------
public | orders | таблица | postgres
public | payments | таблица | postgres
public | users | таблица | postgres
(3 строки)
postgres=# \! pg_dump -U postgres -d db1 | psql -U postgres -d db2
SET
SET
SET
SET
SET
set_config
------------
(1 строка)
SET
SET
SET
SET
SET
MAC LABEL
MAC CCR
MAC LABEL
MAC CCR
SET
SET
CREATE TABLE
ALTER TABLE
MAC LABEL
MAC CCR
CREATE SEQUENCE
ALTER TABLE
ALTER SEQUENCE
MAC LABEL
MAC CCR
CREATE TABLE
ALTER TABLE
MAC LABEL
MAC CCR
CREATE SEQUENCE
ALTER TABLE
ALTER SEQUENCE
MAC LABEL
MAC CCR
CREATE TABLE
ALTER TABLE
MAC LABEL
MAC CCR
CREATE SEQUENCE
ALTER TABLE
ALTER SEQUENCE
MAC LABEL
MAC CCR
ALTER TABLE
ALTER TABLE
ALTER TABLE
COPY 10
COPY 0
COPY 10
setval
--------
10
(1 строка)
setval
--------
3
(1 строка)
setval
--------
10
(1 строка)
ALTER TABLE
ALTER TABLE
ALTER TABLE
ALTER TABLE
ALTER TABLE
ALTER TABLE
postgres=# \c db2
Вы подключены к базе данных "db2" как пользователь "postgres".
db2=# \dt
Список отношений
Схема | Имя | Тип | Владелец
--------+----------+---------+----------
public | orders | таблица | postgres
public | payments | таблица | postgres
public | users | таблица | postgres
(3 строки)
Санкт-Петербург
2024