psql empty database before restore
I want to restore a database of postgreSQL, but before do it i need to empty the restore target database.
Is there an option of psql to do it ?
Now i use a command line as the following :
psql -U postgres db_test < testdb.sql
There are two options here - if your backup is plain text then you add the -c option to pg_dump - ie
pg_dump -c mydb > mydb.sql
Otherwise if your using -Fc or -Ft on pg_dump then you use the -c flag on pg_restore
pg_dump -Ft -b mydb > db.tar
pg_restore -c -d newdb db.tar
Assuming you're talking about restoring from a pg_dump
backup the answer is "it depends on how the backup was made", but typically yes: You must empty the database before restoring the backup.
The fastest way to empty out a database in Postgres is to drop and re-create the database (you'll probably need superuser privileges for that), otherwise you have to manually drop each table and any stored procedures you may have (CASCADE
is your friend here).