У нас есть база данных postgresql, которая еженедельно резервируется из задания cron с помощью следующей команды:
su postgres -c "pg_dump our_database | gzip > /home/smb/shared/database_backup.bak.gz"
недавно у нас произошел сбой диска, который начался с нескольких поврежденных секторов и в течение этого времени выход из pg_dumpсо следующими ошибками
pg_dump: SQL command failed
pg_dump: Error message from server: ERROR: catalog is missing 17 attribute(s) from relid 20158
pd_dump: The command was: LOCK TABLE public.obvez IN ACCESS SHARE MODE
Теперь, так как это было в задании cron, никто не заметил сообщений об ошибках, резервное копирование было прервано, но оно не было нулевого размера, все выглядело нормально, и ошибка оставалась незамеченной до последнего дисканеудача, когда мы поняли, что у нас не было резервной копии.
Нам удалось восстановить данные из более старой резервной копии, но теперь я хотел бы знать, как правильно проверить, успешно ли pg_dump завершил свою работу или нет?