Импортозамещение > Инсталляция > Настройка резервного копирования [●] | « пред. |
•Создать каталог на диске для хранения wal-файлов (a) и для самой копии базы (b) (рекомендуется в PG_DATA)
mkdir /var/lib/postgresql/archive_{a,b} |
•Сделать резервную копию файла конфигурации PostgreSQL
sudo cp /etc/postgresql/14/main/postgresql.conf /etc/postgresql/14/main/postgresql.conf.bkp |
•Изменить файл конфигурации PostgreSQL
# Раскомментировать параметры: wal_level = replica archive_mode = on archive_command = 'test ! -f /var/lib/postgresql/archive_a/%f && cp %p /var/lib/postgresql/archive_a/%f' |
•Внести изменения в файл pg_hba.conf
local replication all trust |
•Перезапустить базу:
systemctl restart postgresql.service |
•Проверить, что сохранение wal-файлов производится в нужном нам каталоге
su - postgres psql postgres=# select pg_switch_wal(); ls -al /var/lib/postgresql/14/main/archive_a/ |
•После выполнения данных настроек можно сделать первый бэкап СУБ
pg_basebackup -D arcive_b/ -Ft -z
|
Данную команду можно оформить в скрипт, после чего настроить запуск по расписанию в crond.
Восстановление рекомендуется осуществляеть на новом кластере PostgreSQL.
•Перенести бэкап в рабочий каталог (PG_DATA)
sudo cp -a /path/to/database_backup/. /var/lib/postgresql/14/main/ sudo chown postgres:postgres /var/lib/postgresql/14/main sudo chmod 700 /var/lib/postgresql/14/main |
•Указать параметры восстановления (в файле /etc/postgresql/14/main/postgresql.conf)
restore_command = 'cp /var/lib/postgresql/pg_log_archive/%f %p' recovery_target_time = 'yyyy-mm-dd hh:mm:ss.ss' ('2021-08-10 15:20:00') recovery_target_timeline = 'latest' - до последней ветки recovery_target_timeline = '1' - до указанной |
•Создать файл recovery.signal для запуска сервера в режиме восстановления
sudo touch /var/lib/postgresql/14/main/recovery.signal |
•Запустить СУБД
sudo systemctl start postgresql.service sudo systemctl status postgresql.service
|
Резервное копирование осуществляется путем копирования архивов каталогов: - /etc - /usr/local/PLATEX/converters - /var/www
Пример:
tar zcf etc.tar.gz /etc/* cp etc.tar.gz BACKUP_PATH |
Восстановление файлов конфигурации производится путем обратного копирования файлов из архивов в целевые директории на сервере.