On 08/08/11 1:01 AM, Siva Palanisamy wrote:

Hi All,

I am also a newbie here! I need to backup a database and restore it into the target machine where the database may already present or might not. If it exists, I want the "restore" command to overwrite, otherwise, just create a new one.

I tried using the commands:

(1) BACKUP: pg_dump -h localhost -U username db > dump_file.out;

RESTORE: pg_dump -h localhost -U username db < dump_file.out;

(2) BACKUP:

pg_dump -h localhost -U username -Ft db > dump_file.tar;

RESTORE:

pg_restore -h localhost -U username -d db dump_file.tar;

"Backup" worked perfect in the above 2 scenarios whereas "restore" didn't yield the exact results. For testing it, I took the back-up and intentionally deleted few records in a table. I then restored the database in the same machine where the database exists. I expected the deleted records to come back as I was restoring the one which has the complete data. It didn't yield proper results. And I wonder why..

I believe I might be doing something marginally wrong. I would appreciate if any geek over here to guide me the "restore" command properly.



specify -c on the pg_restore, and it will drop the database objects and recreate them

pg_dump -Fc -h localhost -U user -f dumpfile.pg dbname

pg_restore -c -h localhost -U user -d dbname dumpfile.pg




--
john r pierce                            N 37, W 122
santa cruz ca                         mid-left coast


--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

Reply via email to