Режим восстановления резервной копии кластера Postgres Pro

Данный метод может быть использован при ручном восстановлении служебной базы данных сервера RuBackup, если для её работы используется СУБД Postgres Pro и выполнялось её резервное копирование в составе кластера.

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

Для восстановления кластера СУБД Postgres Pro необходимо выполнить следующие действия:

  • Остановить сервер Postgres Pro, если он работает:

sudo systemctl stop postgrespro-std-13.service
  • Сделать резервную копию файлов каталога кластера баз данных, для возможности отката (в примере ниже использован каталог ~/emergency_copy, в нём должно быть достаточно места для выполнения данной операции):

sudo -iu postgres (cd /var/lib/pgpro/std-13/data && tar cfv - *) | (cd ~/emergency_copy && tar xf - )
  • Очистить каталог кластера баз данных:

sudo -iu postgres rm -rf /var/lib/pgpro/std-13/data/*
  • Восстановить данные из резервных копий в директорию. Для этого сперва потребуется изменить значение параметра direct_restore на no в конфигурационном файле модуля /opt/rubackup/etc/rb_module_postgres_pro_13.conf, а затем выполнить восстановление резервной копии в какой-либо каталог при помощи Менеджера Клиента RuBackup (RBC) или утилиты командной строки rb_archives.

  • Запустить восстановление кластера Postgres Pro:

pg_probackup restore -B /postgreBackups/ --instance=postgres -i ид_резервной_копии --no-validate -I режим_восстановления
  • Восстановить права на владение файлами кластера для группы и пользователя postgres:

sudo chown -R postgres:postgres /var/lib/pgpro/std-13/data/
  • Запустить сервер Postgres Pro:

sudo systemctl start postgrespro-std-13.service