Estou salvando e restaurando regularmente um pequeno banco de dados PostgreSQL, usado para testes. Seus dados são atualizados regularmente como resultado de testes; em seguida, um novo dump deve ser feito e os dumps são usados regularmente para recriar o banco de dados em um estado bem definido.
Observei que o dump (usando pg_dump -Fc database
) leva apenas alguns segundos, mas o restore ( pg_restore -d database
) leva cerca de um minuto. Isso parece estranho. Eu esperava que os dois demorassem quase o mesmo tempo (assumindo que as duas tarefas sejam vinculadas à E / S).
Há algum problema com a restauração? Talvez eu pudesse torná-lo mais rápido? Ou é normal que a restauração demore muito mais do que o dump? (E se sim, então por quê?)
O arquivo de despejo geralmente tem cerca de 3-4 MiB; o DBMS é o PostgreSQL V8.4, rodando em um Pentium4 3GHz com 1GiB de RAM no Ubuntu Linux.
Para uma restauração, o banco de dados precisa fazer muito trabalho adicional:
Algumas coisas vêm à mente imediatamente:
Não tenho certeza se isso equivale a essa diferença de tempo.
fonte