Closed
Description
Имеется проблема при частичном ресторе только одной БД
postgres=# select pgpro_version();
pgpro_version
--------------------------------------------------------------------------------------------------------------
PostgresPro 9.6.16.1 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-39), 64-bit
(1 row)
postgres=# select pgpro_edition();
pgpro_edition
---------------
enterprise
(1 row)
postgres=# select pgpro_build();
pgpro_build
-------------
cdeae793ef
(1 row)
$ pg_probackup -V
pg_probackup 2.3.5 (Postgres Pro 9.6.15.2 enterprise)
$ pg_probackup show -B /backup
BACKUP INSTANCE 'dummy'
===================================================================================================================================================
Instance Version ID Recovery Time Mode WAL Mode TLI Time Data WAL Zratio Start LSN Stop LSN Status
===================================================================================================================================================
dummy 9.6 QF8AG1 2020-08-18 01:06:03+03 PAGE ARCHIVE 2/2 6m:45s 26GB 496MB 3.62 A9C4/538B7618 A9C4/72007340 OK
dumyy 9.6 QF70ZU 2020-08-17 10:16:16+03 FULL ARCHIVE 2/0 1h:43m 997GB 6928MB 4.19 A9A4/1B337B70 A9A5/CCE05440 OK
Выполняется рестор с помощью команды
$ pg_probackup restore -B /backup --instance=dummy -D /pgdata/restore/report_data/data --db-include=postgres --recovery-target-time="2020-08-17 14:00" --recovery-target-action=pause --no-validate –-progress -j 20
Завершается успешно
INFO: Backup files are restored. Transfered bytes: 77GB, time elapsed: 5m:42s
INFO: Approximate restore efficiency ratio: 5394% (4178GB/77GB)
INFO: Syncing restored files to disk
INFO: Restored backup files are synced, time elapsed: 1s
LOG: ----------------------------------------
LOG: creating recovery.conf
LOG: Setting restore_command to '/usr/bin/pg_probackup-ent-9.6 archive-get -B /backup --instance dummy --wal-file-path=%p --wal-file-name=%f'
INFO: Restore of backup QF70ZU completed.
Запускаю инстанс для продолжения восстановления с помощью WAL и в конечном счёте получаю ошибку
2020-08-18 06:37:37.395 MSK [97108]: [457-1] db=,tx=0,user=,app=,client= LOG: restored log file "000000020000A9A5000000DA" from archive
2020-08-18 06:37:50.959 MSK [97108]: [458-1] db=,tx=0,user=,app=,client= WARNING: page 233374 of relation base/3434610/3436498 is uninitialized
2020-08-18 06:37:50.959 MSK [97108]: [459-1] db=,tx=0,user=,app=,client= CONTEXT: xlog redo at A9A5/DAE4FB70 for Btree/DELETE: 8 items
2020-08-18 06:37:50.959 MSK [97108]: [460-1] db=,tx=0,user=,app=,client= PANIC: WAL contains references to invalid pages
2020-08-18 06:37:50.959 MSK [97108]: [461-1] db=,tx=0,user=,app=,client= CONTEXT: xlog redo at A9A5/DAE4FB70 for Btree/DELETE: 8 items
2020-08-18 06:37:51.037 MSK [97106]: [5-1] db=,tx=0,user=,app=,client= LOG: startup process (PID 97108) was terminated by signal 6: Aborted
2020-08-18 06:37:51.037 MSK [97106]: [6-1] db=,tx=0,user=,app=,client= LOG: terminating any other active server processes
2020-08-18 06:37:51.038 MSK [97106]: [7-1] db=,tx=0,user=,app=,client= LOG: worker process: cfs-worker-0 (PID 74582) exited with exit code 1
2020-08-18 06:37:51.342 MSK [97106]: [8-1] db=,tx=0,user=,app=,client= LOG: database system is shut down
Непонятно, почему здесь появляется relation (base/3434610/3436498 - принадлежит db1) из БД, которая не должна ресториться
postgres=# select oid,datname from pg_database ;
oid | datname
----------+------------------
1 | template1
13390 | template0
51640550 | db2
3434610 | db1
13391 | postgres
(5 rows)