# Резервное копирование и восстановление базы данных PostgreSQL.

# Резервное копирование

Для создания резервной копии базы данных PostgreSQL воспользуемся утилитой pgAdmin. Для запуска pgAdmin в Windows откройте меню Пуск - Все приложения - PostgreSQL - pgAdmin 4

image

После запуска pgAdmin 4 будет запрошен пароль, который Вы установили ранее, при настройке pgAdmin или задайте пароль, если это первый запуск.

image

В левой части окна открывшегося обозревателя кликнете по серверу - развернется список баз данных, ролей и табличных пространств. Выберите из списка базу данных, резервную копию которой Вы создаете, нажмите правой кнопкой мыши, в открывшемся контекстном меню выберите "Резервная копия" (Backup)

image

На вкладке "Общие" открывшегося окна диалога создания резервной копии:

В поле "Имя файла" справа нажмите на три точки, выберите директорию сохранения копии, задайте имя файла копии базы данных, внизу справа выберите формат "backup" и нажмите "Создать":

image

В поля, указанные ниже, введите:

  • Формат - Специальный (Custom);
  • Кодировка - UTF8;
  • Имя роли - db_owner

image

Переключитесь на вкладку "Параметры выгрузки" и выставьте свойства, как на скриншоте:

image

После чего нажмите на кнопку запуска копирования "Резервная копия". В нижней правой части окна обозревателя отобразится сообщение о запуске копирования:

image

А затем об успешном его завершении:

image

Создание резервной копии базы данных завершено, убедитесь в наличии файла копии в каталоге, указанном при задании параметров копирования.

# Восстановление базы данных из резервной копии

Для восстановления базы данных PostgreSQL из резервной копии воспользуемся утилитой pgAdmin. Для запуска pgAdmin в Windows откройте меню Пуск - Все приложения - PostgreSQL - pgAdmin 4

image

После запуска pgAdmin 4 будет запрошен пароль, который Вы установили ранее, при настройке pgAdmin или задайте пароль, если это первый запуск:

image

Если восстанавливается база данных, которой ранее не было на сервере, то ее необходимо создать. Для этого: в левой части окна открывшегося обозревателя кликнете по серверу - развернется список баз данных, ролей и табличных пространств. Нажмите правой кнопкой мыши на "Базы данных", в открывшемся контекстном меню выберите "Создать - База данных":

image

На вкладке "Общие" окна диалога создания базы данных в поле "База данных" задайте имя базы, в поле "Владелец" выберите "db_owner":

image

На вкладке "Определение" в поле "Кодировка" выберите "UTF8" и нажмите Сохранить

image

Созданная Вами база данных отобразится в левой части окна обозревателя. Выбираем базу в списке правой кнопкой мыши и в открывшемся контекстном меню нажимаем "Восстановить" (Restore):

image

В открывшемся окне диалога восстановления базы, на вкладке "Общие" в поле "Имя файла" через три точки справа от поля указываем путь к файлу резервной копии, выбираем файл и формат "backup", после чего нажимаем "Выбрать":

image

Диалог вернется на вкладку "Общие", где в поле "Формат" выбираем "Специальный или tar" в поле "Имя роли" выбираем "db_owner":

image

Переходим на вкладку "Параметры восстановления", выставляем параметры как на скриншоте и нажимаем кнопку "Восстановить":

image

В нижней правой части окна обозревателя отобразится баннер прогресса восстановления базы данных:

image

Для отображения подробной информации хода восстановления нажмите на кнопку "More details" баннера:

image

В данном примере выведено сообщение об успешном завершении операции, однако в случае восстановления базы перенесенной с другого сервера, операция может завершится с сообщением об ошибке, из-за отсутствия на сервере роли "db_user" восстанавливаемой базы:

image

Никаких дополнительных действий в этом случае предпринимать не нужно, пользователь создастся после подключения к базе программным комплексом СТЕК. При желании можно убедится, что при восстановлении базы созданы необходимые таблицы в схеме "stack":

image

Восстановление базы данных завершено.