Я делаю резервную копию из моей postgresql базы данных (v11), используя pg_basebackup
, например:
pg_basebackup -h localhost -p 5432 -U postgres -D /tmp/backup -Ft -z -Xs -P
Процесс резервного копирования завершен просто без ошибок. Затем в качестве теста я Я хочу восстановить данные из резервной копии, и для этого я делаю следующие шаги:
- Завершаем работу экземпляра postgres.
Удаляем все из папки /var/lib/postgresql/data
rm -rf /var/lib/postgresl/data/*
Разархивировать там базовый архив:
tar xvf /tmp/backup/base.tar.gz -C /var/lib/postgresql/data
Разрушить архив архив во временный каталог
tar xvf /tmp/backup/pg_wal.tar.gz -C /tmp/archived_wals
Создать файл recovery.conf
в папке /var/lib/postgresql/data
:
touch /var/lib/postgresql/data/recovery.conf
chown postgres:postgres /var/lib/postgresql/data/recovery.conf
Укажите команду восстановления в файле recovery.conf:
restore_command = 'cp /path/archived_wals/%f "%p" '
Перезапустите экземпляр postgres и дождитесь восстановления восстановления готово.
Однако, когда postgres запускается, я получаю следующую ошибку в журналах:
2020-02-04 11:34:52.599 UTC [1] LOG: listening on IPv4 address "0.0.0.0", port 5432
2020-02-04 11:34:52.599 UTC [1] LOG: listening on IPv6 address "::", port 5432
2020-02-04 11:34:52.613 UTC [1] LOG: listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
2020-02-04 11:34:52.709 UTC [18] LOG: database system was interrupted; last known up at 2020-02-04 08:39:54 UTC
cp: can't stat '/tmp/archived_wals/00000002.history': No such file or directory
2020-02-04 11:34:52.735 UTC [18] LOG: starting archive recovery
2020-02-04 11:34:52.752 UTC [18] LOG: invalid checkpoint record
2020-02-04 11:34:52.752 UTC [18] FATAL: could not locate required checkpoint record
2020-02-04 11:34:52.752 UTC [18] HINT: If you are not restoring from a backup, try removing the file "/var/lib/postgresql/data/backup_label".
2020-02-04 11:34:52.753 UTC [1] LOG: startup process (PID 18) exited with exit code 1
2020-02-04 11:34:52.753 UTC [1] LOG: aborting startup due to startup process failure
2020-02-04 11:34:52.769 UTC [1] LOG: database system is shut down
Я предполагаю, что что-то упустил, возможно, мне нужно сделать дополнительную настройку до * 10 60 * чтобы иметь возможность восстановить pg_basebackup
резервную копию?