После восстановления нет нужной таблицы, однако после выполнения любой DDL-команды, она появляется

Доброе время суток!

Для снятия бекапов и восстановления пользуюсь pg_probackup версии 2.5.12
СУБД - PostgreSQL 14.7

В бекапе имеется пользовательская таблица в базе postgres, при восстановлении хоть FULL, хоть DELTA - таблица пропадает, однако ее file node id присутствует в base/17683/ после восстановления. Но при подключении к СУБД он ее почему-то не видит, если делать простой селект из нее или пытаться запустить select pg_relation_filepath('foo'). Также и SELECT pg_filenode_relation(0, 3720450); выдает NULL.

Но если, к примеру, выполнить запрос
create temporary table foo2 on commit drop
as select 1;

то та пропавшая таблица появляется, даже перезапускать СУБД не надо.

Как добиться корректного восстановления?
Вот команды бекапа и восстановления:

pg_probackup-14 backup -B /home/postgres/pgbcks/ -b DELTA --instance=pg14_2 -j 8 --stream --temp-slot --compress-algorithm=zlib --compress-level=5

pg_probackup-14 restore -B /home/postgres/pgbcks/ --instance pg14_2 -D /home/postgres/pg14_2/data/ -j 8 -i RYG6K0

Список и статус бекапов во вложении на скрине.

ВложениеРазмер
backup_list.png79.54 kb

Back to top

(С) Виктор Вислобоков, 2008-2023