Режим восстановления резервной копии кластера 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