2009-03-26 14 views
5

Devo sempre eliminare e quindi creare un database per ripristinarlo da un file pg_dump? Se non elimini il database, i dati in fase di ripristino vengono aggiunti ai dati correnti nel DB anche se alcuni registri sono già nel database (quindi i dati sono duplicati).Ripristino database Postgresql

risposta

6

È possibile utilizzare l'opzione -c (--clean) mentre si esegue pg_dump, quindi il dump conterrà i comandi DROP appropriati.

Ma in generale, vorrei suggerire di andare al "maniere forti":

dropdb ... 
createdb ... 
psql -d ... -f dump.file 

In questo modo si è sicuri che non ci sono "avanzi" da tutto ciò che era in precedenza nel database.

+0

Un altro aspetto positivo della soluzione è che non è necessario eseguire un VACUUM PIENO per recuperare lo spazio dei record eliminati. – bortzmeyer

Problemi correlati