Description
Посмотрел много видео с конференций о pg_probackup. Прочитал инструкцию на сайте PostgresPro. Настроил бэкапирование:
pg_probackup add-instance -B %BACKUP_DIR% -D %PGDATA% --instance %INSTANCE% pg_probackup backup -B %BACKUP_DIR% --instance %INSTANCE% --backup-mode=FULL --stream --progress -d postgres
В %BACKUP_DIR% появился директорий backups и внутри его %INSTANCE% со структурой директориев с архивами.
pg_probackup show -B %BACKUP_DIR%
Выводит список бэкапов. Всё хорошо. А вот как из этих бэкапов восстанавливаться?
Команда
pg_probackup restore -B %BACKUP_DIR% --instance %INSTANCE%
создаёт %PGDATA% с pg_wal и recovery.conf. Естественно в не пустом %PGDATA% initdb отказывается создавать кластер. Если же сначала создать кластер, то pg_probackup restore сообщает:
ERROR: restore destination is not empty: “D:\PGDATA\test\”
Как же использовать pg_probackup для восстановления?
Вот вывод на консоль pg_probackup restore:
VERBOSE: Thread [0]: Need to switch to segno next to 0/20000000, current LSN 0/20000028
LOG: Thread [0]: Opening WAL segment "D:/IBIS_BACKUPS/PGBACKUPS/wal/IBIS/000000010000000000000020"
INFO: Backup PN61N8 WAL segments are valid
INFO: Backup PN61N8 is valid.
LOG: restoring database from backup 2019-02-19 12:45:26+05
LOG: there is no file tablespace_map
LOG: restore directories and symlinks...
LOG: create directory "pg_wal"
LOG: Start thread for num:3
VERBOSE: Restoring file D:\IBIS_BACKUPS\PGBACKUPS\backups\IBIS\PN5XJQ\database/backup_label, is_datafile 0, is_cfs 0
VERBOSE: Restored file D:\IBIS_BACKUPS\PGBACKUPS\backups\IBIS\PN5XJQ\database/backup_label : 223 bytes
VERBOSE: Restoring file D:\IBIS_BACKUPS\PGBACKUPS\backups\IBIS\PN5XJQ\database/pg_wal/00000001000000000000001A, is_datafile 0, is_cfs 0
VERBOSE: Restored file D:\IBIS_BACKUPS\PGBACKUPS\backups\IBIS\PN5XJQ\database/pg_wal/00000001000000000000001A : 16777216 bytes
VERBOSE: Restoring file D:\IBIS_BACKUPS\PGBACKUPS\backups\IBIS\PN5XJQ\database/pg_wal/00000001000000000000001B, is_datafile 0, is_cfs 0
VERBOSE: Restored file D:\IBIS_BACKUPS\PGBACKUPS\backups\IBIS\PN5XJQ\database/pg_wal/00000001000000000000001B : 16777216 bytes
LOG: restore PN5XJQ backup completed
LOG: restoring database from backup 2019-02-19 14:13:56+05
LOG: there is no file tablespace_map
LOG: restore directories and symlinks...
LOG: Start thread for num:1
VERBOSE: Restoring file D:\IBIS_BACKUPS\PGBACKUPS\backups\IBIS\PN61N8\database/backup_label, is_datafile 0, is_cfs 0
VERBOSE: Restored file D:\IBIS_BACKUPS\PGBACKUPS\backups\IBIS\PN61N8\database/backup_label : 223 bytes
LOG: restore PN61N8 backup completed
LOG: ----------------------------------------
LOG: creating recovery.conf
INFO: Restore of backup PN61N8 completed.
pg_probackup из сборки PostgresPro_10.6.1_64.bit.exe
pg_probackup 2.0.24 (Postgres Pro 10.6.1 standard)