Резервное копирование и восстановление базы данных PostgreSQL.
Резервное копирование и восстановление базы данных PostgreSQL.
Резервное копирование
Для создания резервной копии базы данных PostgreSQL воспользуемся утилитой pgAdmin. Для запуска pgAdmin в Windows откройте меню Пуск - Все приложения - PostgreSQL - pgAdmin 4
После запуска pgAdmin 4 будет запрошен пароль, который Вы установили ранее, при настройке pgAdmin или задайте пароль, если это первый запуск.
В левой части окна открывшегося обозревателя кликнете по серверу - развернется список баз данных, ролей и табличных пространств. Выберите из списка базу данных, резервную копию которой Вы создаете, нажмите правой кнопкой мыши, в открывшемся контекстном меню выберите "Резервная копия" (Backup)
На вкладке "Общие" открывшегося окна диалога создания резервной копии:
В поле "Имя файла" справа нажмите на три точки, выберите директорию сохранения копии, задайте имя файла копии базы данных, внизу справа выберите формат "backup" и нажмите "Создать":
В поля, указанные ниже, введите:
- Формат - Специальный (Custom);
- Кодировка - UTF8;
- Имя роли - db_owner
Переключитесь на вкладку "Параметры выгрузки" и выставьте свойства, как на скриншоте:
После чего нажмите на кнопку запуска копирования "Резервная копия". В нижней правой части окна обозревателя отобразится сообщение о запуске копирования:
А затем об успешном его завершении:
Создание резервной копии базы данных завершено, убедитесь в наличии файла копии в каталоге, указанном при задании параметров копирования.
Восстановление базы данных из резервной копии
Для восстановления базы данных PostgreSQL из резервной копии воспользуемся утилитой pgAdmin. Для запуска pgAdmin в Windows откройте меню Пуск - Все приложения - PostgreSQL - pgAdmin 4
После запуска pgAdmin 4 будет запрошен пароль, который Вы установили ранее, при настройке pgAdmin или задайте пароль, если это первый запуск:
Если восстанавливается база данных, которой ранее не было на сервере, то ее необходимо создать. Для этого: в левой части окна открывшегося обозревателя кликнете по серверу - развернется список баз данных, ролей и табличных пространств. Нажмите правой кнопкой мыши на "Базы данных", в открывшемся контекстном меню выберите "Создать - База данных":
На вкладке "Общие" окна диалога создания базы данных в поле "База данных" задайте имя базы, в поле "Владелец" выберите "db_owner":
На вкладке "Определение" в поле "Кодировка" выберите "UTF8" и нажмите Сохранить
Созданная Вами база данных отобразится в левой части окна обозревателя. Выбираем базу в списке правой кнопкой мыши и в открывшемся контекстном меню нажимаем "Восстановить" (Restore):
В открывшемся окне диалога восстановления базы, на вкладке "Общие" в поле "Имя файла" через три точки справа от поля указываем путь к файлу резервной копии, выбираем файл и формат "backup", после чего нажимаем "Выбрать":
Диалог вернется на вкладку "Общие", где в поле "Формат" выбираем "Специальный или tar" в поле "Имя роли" выбираем "db_owner":
Переходим на вкладку "Параметры восстановления", выставляем параметры как на скриншоте и нажимаем кнопку "Восстановить":
В нижней правой части окна обозревателя отобразится баннер прогресса восстановления базы данных:
Для отображения подробной информации хода восстановления нажмите на кнопку "More details" баннера:
В данном примере выведено сообщение об успешном завершении операции, однако в случае восстановления базы перенесенной с другого сервера, операция может завершится с сообщением об ошибке, из-за отсутствия на сервере роли "db_user" восстанавливаемой базы:
Никаких дополнительных действий в этом случае предпринимать не нужно, пользователь создастся после подключения к базе программным комплексом СТЕК. При желании можно убедится, что при восстановлении базы созданы необходимые таблицы в схеме "stack":
Восстановление базы данных завершено.