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

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

Резервное копирование (backup) и восстановление БД

При установке PostgreSQL создается задание автоматического backup (PostgreSQL backup task) в Планировщике заданий Windows.

В папке bin/ запустить файл pg_backup.bat. При запуске он должен вызвать стандартные инструменты backup PostgreSQ (pg_dumpall и pg_dump) и создать 2 файла по пути: C:\Users\<имя пользователя>\AppData\Roaming\AAM Systems\PassOffice\backup, например,

passofficedb_18.12.2023.all.backup
passofficedb_18.12.2023.backup

Рекомендуется при резервном копировании указывать кодировку:

pg_dump --encoding utf8

Восстановление выполняется файлом pg_restore.bat, которому нужно передать имена файлов с backup в качестве аргументов.

В pgAdmin, находящегося по пути C:\Program Files\PostgreSQL\12\pgAdmin 4\bin, проверяем восстановленные таблицы.

Создание резервной копии (бэкапа) при помощи pgAdmin4

pgAdmin4 использует для резервирования и восстановления БД те же самые утилиты pg_dump и pg_restore, что и при работе из командной строки.

Перед использованием pgAdmin4 для этих целей необходимо указать пути до этих утилит в настройках:

  1. Выберите пункт меню File, далее Preference.

  2. В открывшемся окне найдите пункт Paths - Binary Paths, далее кликните на иконку папки в строчке с установленной версией PostgreSQL и укажите путь до папки bin PostgreSQL.

  3. Нажмите на кнопку Validate и сохраните настройки.

  4. Нажмите правой кнопкой мыши по БД, для которой требуется выполнить резервное копирование и в контекстном меню выберите пункт Backup.

  5. В открывшемся окне в поле Filename введите полный путь до директории, в которой необходимо создать бэкап БД и имя файла (обязательно укажите расширение .backup). В поле Format следует оставить значение Custom. Далее нажмите кнопку Backup.

  6. При успешном резервировании по указанному пути появится файл с копией базы данных.

Восстановление из бэкапа при помощи pg_Admin4

  1. Удалите старую базу (если она была создана)

  2. Нажмите правой кнопкой мыши на Databases и выберите пункт Create - Database

  3. В модальном окне задайте имя базы данных

  4. Далее выберите созданную новую базу данных и кликните правой кнопкой мыши по ней, далее - пункт Restore

  5. После нажмите на значок папки и выберите файл с бэкапом и далее - Restore

  6. Если все прошло успешно, то резервная копия восстановится в выбранную базу.

Обновление версии PostgreSQL

Ручной способ

  1. Необходимо сделать резервную копию базы данных с помощью утилиты pg_dump

  2. Загрузить новую версию PostgreSQL с официального сайта или с сайта российского дистрибьютера - https://postgrespro.ru/

  3. Установить новую версию PostgreSQL

  4. Восстановить базу данных из резервной копии с помощью утилиты pg_restore

Автоматический способ

Автоматический способ подразумевает использование утилиты pg_upgrade. https://postgrespro.ru/docs/postgresql/15/pgupgrade

Last updated