$ sudo -u postgres psql -c "\l+"
Установить базу с тестовой конфигурацией ЗИК ГУ
$ sudo su postgres -c "createdb --username postgres -T template0 demo"
$ time sudo su postgres -c "pg_restore -d demo -j 4 /home/user/zgutest.dump"
Делаем полную копию:
$ sudo -u postgres pg_probackup-9.6 backup -B /backup --instance main -b FULL --stream --compress --delete-wal --expired -j4
Установить базу с тестовой конфигурацией ЗИК ГУ
$ sudo su postgres -c "createdb --username postgres -T template0 demo"
$ time sudo su postgres -c "pg_restore -d demo -j 4 /home/user/zgutest.dump"
Делаем полную копию:
$ sudo -u postgres pg_probackup-9.6 backup -B /backup --instance main -b FULL --stream --compress --delete-wal --expired -j4
Проверить архивирование:
$ sudo -u postgres psql -c " select * from pg_stat_archiver;"
Подключиться к базе и войти в 1с создать документ, провести, выйти из 1с.
Скопировать postgresql.conf
$ sudo -u postgres cp /etc/postgresql/9.6/main/postgresql.conf /backup/postgresql.conf
Скопировать pg_hba.conf
$ sudo -u postgres cp /etc/postgresql/9.6/main/pg_hba.conf /backup/pg_hba.conf
Просмотр: $ sudo -u postgres pg_probackup-9.6 show -B /backup
ID Q010SV
Проверка backup:
$ sudo -u postgres pg_probackup-9.6 validate -B /backup
INFO: Validate backups of the instance 'main'
INFO: Validating backup Q010SV
INFO: Backup Q010SV data files are valid
INFO: Backup Q010SV WAL segments are valid
Дополнительно можно проверить
$ sudo -u postgres pg_probackup-9.6 validate -B /backup --instance main -i Q010SV --time='2042-04-16 12:26:00'
WARNING: Recovery can be done up to time 2019-10-27 12:35:49+03, xid 34293 and LSN 1/5AFFD5E0
Останавливаем 1с
$ sudo systemctl stop srv1cv83.service
Внимание мы удалим полностью существующий кластер с базами 1С !!!
Вместе с настройками в /etc/postgresql
Еще раз сохраним:
$ sudo -u postgres cp /etc/postgresql/9.6/main/postgresql.conf /etc/postgresql/9.6/main/postgresql.conf.bak
$ sudo -u postgres cp /etc/postgresql/9.6/main/pg_hba.conf /etc/postgresql/9.6/main/pg_hba.conf.bak
$ sudo pg_dropcluster --stop 9.6 main
$ sudo pg_createcluster --locale ru_RU.UTF-8 9.6 main -- --data-checksums
Удалим данные кластера main
$ sudo /bin/su postgres -c "rm -rf /var/lib/postgresql/9.6/main/*"
Чтобы безопасно запустить восстановленный сервер, надо отключить непрерывное архивирование - иначе новые файлы WAL попадут в тот же каталог.
Восстановим кластер main
$ sudo -u postgres pg_probackup-9.6 restore -B /backup --instance main -i Q010SV --recovery-target='latest' -j 4
INFO: Validating backup Q010SV
INFO: Backup Q010SV data files are valid
INFO: Backup Q010SV WAL segments are valid
INFO: Backup Q010SV is valid.
INFO: Restore of backup Q010SV completed.
Обратить внимание - будет автоматически создан /var/lib/postgresql/9.6/main/recovery.conf
$ sudo -u postgres cat /var/lib/postgresql/9.6/main/recovery.conf
# recovery.conf generated by pg_probackup 2.2.3
restore_command = '/usr/bin/pg_probackup-9.6 archive-get -B /backup --instance main --wal-file-path=%p --wal-file-name=%f'
recovery_target_action = 'pause'
Нужно стартануть кластер, хоть он и не запустится
$ sudo pg_ctlcluster 9.6 main start
#$ sudo sudo systemctl status postgresql@9.6-main.service
Для восстановления запустить так:
$ sudo su postgres -c "/usr/lib/postgresql/9.6/bin/pg_ctl start -w -D /var/lib/postgresql/9.6/main -o '-c config_file=/etc/postgresql/9.6/main/postgresql.conf'"
....
....
Дождаться завершения восстановления!
Остановить:
$ sudo su postgres -c "/usr/lib/postgresql/9.6/bin/pg_ctl stop -w -D /var/lib/postgresql/9.6/main -o '-c config_file=/etc/postgresql/9.6/main/postgresql.conf'"
После этого будет работать штатный режим:
$ sudo pg_ctlcluster 9.6 main start
$ sudo sudo systemctl status postgresql@9.6-main.service
Важно: на данном этапе не настроен /etc/postgresql/9.6/main/postgresql.conf !
Не будет настроено непрерывное архивирование!!!
Запускаем 1с пока просто для проверки!
$ sudo systemctl start srv1cv83.service
Входим в 1С проверяем что присутствуют все документы, введеные после
выполнения последней полной копии.
Проверить архивирование:
$ sudo -u postgres psql -c " select * from pg_stat_archiver;"
Видим что архивирование не выполняется.
После проверки восстановления нужно включить непрерывное архивирование.
Для возобновления архивирования:
$ sudo systemctl stop srv1cv83.service
$ sudo pg_ctlcluster 9.6 main stop
$ sudo -u postgres cp /backup/postgresql.conf /etc/postgresql/9.6/main/postgresql.conf
$ sudo -u postgres cp /backup/pg_hba.conf /etc/postgresql/9.6/main/pg_hba.conf
или
$ sudo -u postgres cp /etc/postgresql/9.6/main/postgresql.conf.bak /etc/postgresql/9.6/main/postgresql.conf
$ sudo -u postgres cp /etc/postgresql/9.6/main/pg_hba.conf.bak /etc/postgresql/9.6/main/pg_hba.conf
Проверим:
Должны быть настройки для pg_probackup и для 1с.
$ sudo -u postgres nano /etc/postgresql/9.6/main/postgresql.conf
$ sudo -u postgres nano /etc/postgresql/9.6/main/pg_hba.conf
$ sudo pg_ctlcluster 9.6 main start
$ sudo systemctl start srv1cv83.service
Делаем полную копию:
$ sudo -u postgres pg_probackup-9.6 backup -B /backup --instance main -b FULL --stream --compress --delete-wal --expired -j4
Проверить архивирование:
$ sudo -u postgres psql -c " select * from pg_stat_archiver;"
Комментариев нет:
Отправить комментарий