Я регулярно сохраняю и позже восстанавливаю небольшую базу данных PostgreSQL, которая используется для тестирования. Его данные регулярно обновляются в результате тестов, затем необходимо создать новый дамп, и дампы регулярно используются для воссоздания базы данных в четко определенном состоянии.
Я заметил, что дамп (использование pg_dump -Fc database
) занимает всего несколько секунд, но восстановление ( pg_restore -d database
) занимает около минуты. Это кажется странным. Я ожидал бы, что оба будут занимать примерно одинаковое время (при условии, что обе задачи связаны с вводом / выводом).
Есть ли проблема с восстановлением? Могу ли я сделать это быстрее? Или это нормально, что восстановление занимает намного больше времени, чем дамп? (И если да, то почему?)
Файл дампа обычно имеет около 3-4 МиБ; СУБД - это PostgreSQL V8.4, работающая на Pentium4 3 ГГц с оперативной памятью 1 ГБ под Ubuntu Linux.
Для восстановления база данных должна сделать много дополнительной работы:
Некоторые вещи приходят на ум сразу:
Не уверен, если это составляет эту разницу во времени, хотя.
источник