2016-12-08 2 views
0

Каков наилучший способ проверить, что резервное копирование и восстановление базы данных Postgres претерпело неудачу без проблем?Как проверить, что резервная копия Postgres прошла успешно?

Я использую следующие для резервного копирования/восстановления:

sudo -u postgres pg_dump -Ft db > database.tar 
sudo -u postgres pg_restore -Ft database.tar 
+1

сохранить вывод в журналах и grep для ошибок? .. –

+0

Я мог бы это сделать, но не все «ошибки» в журналах являются ошибками. Мне было интересно, есть ли что-то вроде результата результата, который описывает количество выполняемых операций и количество сбоев. – ScrawnySquirrel

+0

все ошибки являются ошибками. вы можете рассчитывать операции и ошибки, если хотите. это только для того, чтобы решить, является ли какая-то ошибка критической или нет. НАСТОЯЩИЙ ТЕКУЩИЙ ВОССТАНОВЛЕНИЕ –

ответ

0

Насколько я могу сказать, из нескольких лет опытов с различными способами делать PostgreSQL резервного копирования я никогда не видел поврежденную свалку. Если есть какая-то проблема в pg_dump выполнении задания просто умирает с некоторым сообщением об ошибке, которое вы можете найти в PostGreSQL системного журнала - как правило, в /var/log/postgresql (если вы не войти STDERR в какой-нибудь файл)

Но я видел поврежденную базу данных стр из-за ошибок на диске, и в этом случае pg_dump не смог сделать резервную копию и был разбит с необычной ошибкой из-за попытки выделить слишком много разделяемой памяти. И таким образом нас предупредили, что что-то не так - потому что PostgreSQL не обнаружил никаких других ошибок.

+0

Ну, я передал файлы дампа между хостами без замятия, а иногда, когда я восстановил данные об ошибках при обработке данных. –

+1

OK, true, мы отправляем резервные копии из исходного экземпляра в хранилище Google рядом с собой, и при необходимости мы копируем его из GS в целевой экземпляр. AFAIK эти передачи в и из GS с помощью gsutil проверки, если передача была успешной с использованием контрольных сумм и повторить, если необходимо. Поэтому, возможно, вам стоит также рассмотреть возможность использования контрольных сумм, чтобы избежать коррупции во время передачи. Вы знаете - в любое время случаются плохие вещи ... – JosMac

Смежные вопросы