PG_RESTORE and database size

Started by Marcus Coutoabout 20 years ago3 messagesgeneral
Jump to latest
#1Marcus Couto
marcus_couto@hotmail.com

Here's a basic question. On working with backing up and restoring it seems like if I keep on doing it in a row, the backup file size keeps on increasing in size. It almost doubles in size for every backup/restore. I want the restore the backup to overwrite the database and not add to it. Is there another procedure I'm missing or a parameter I'm not using right with pg_restore and pg_dump?

Thank you for any help.

#2Richard Huxton
dev@archonet.com
In reply to: Marcus Couto (#1)
Re: PG_RESTORE and database size

Marcus Couto wrote:

Here's a basic question. On working with backing up and restoring it
seems like if I keep on doing it in a row, the backup file size keeps
on increasing in size. It almost doubles in size for every
backup/restore. I want the restore the backup to overwrite the
database and not add to it. Is there another procedure I'm missing or
a parameter I'm not using right with pg_restore and pg_dump?

If I were to ask you about vacuum-ing would you know what I was talking
about? If not, check the manuals and read up on the topic.

--
Richard Huxton
Archonet Ltd

#3Tom Lane
tgl@sss.pgh.pa.us
In reply to: Marcus Couto (#1)
Re: PG_RESTORE and database size

"Marcus Couto" <marcus_couto@hotmail.com> writes:

Here's a basic question. On working with backing up and restoring it =
seems like if I keep on doing it in a row, the backup file size keeps on =
increasing in size. It almost doubles in size for every backup/restore. =
I want the restore the backup to overwrite the database and not add to =
it. Is there another procedure I'm missing or a parameter I'm not using =
right with pg_restore and pg_dump?

Why are you restoring into a live database? It sounds to me like you
are probably ignoring a lot of object-already-exists errors from
pg_restore and then having it add on duplicate data to the tables.

Usually people drop the database and recreate it empty before running
pg_restore. There is a switch named --clean or something like that
to make pg_restore emit DROP commands before recreating objects, but
hardly anyone uses it because it's usually slower than dropping the
whole database at once.

regards, tom lane