@tisprk

Как собрать лог востановления БД PostgreSQL из dmp-файла?

Восстанавливаю дамп БД следующей командой:

pg_restore -U owner -d db_name -v file.dmp

где
owner - имя пользователя - владельца БД
db_name - имя БД в которую разворачивается бэкап (создаю заранее через create database db_name )
file.dmp - имя файла дампа

По итогу востановления получаю сообщение:
ПРЕДУПРЕЖДЕНИЕ: при восстановлении проигнорировано ошибок: 1

Нужно как то логировать восстановление бэкапа, что бы отследить ошибку.

PS pg_restore -U owner -d db_name -v file.dmp > pg_restore_log.txt

создает файл, но он остается пустым. Вывод идет в консоль
  • Вопрос задан
  • 1394 просмотра
Решения вопроса 2
ky0
@ky0
Миллиардер, филантроп, патологический лгун
Добавьте -f restore.log.
pg_restore ... > restore.log 2>&1
Ответ написан
Melkij
@Melkij
PostgreSQL DBA
> pg_restore_log.txt

это stdout. А есть ещё stderr, куда всё интересное про ошибки и пишется. А так же verbose туда пишется, который вы запросили.
cmd 2> stderr.log

Ошибку пожалуй попробую даже угадать:
- owner не superuser
- у вас postgresql < 11.0
- ошибка прилетает на plpgsql extension который в новой базе уже есть, но его пытается воспроизвести pg_restore
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы