restore balloons db size

From: Marc Fromm <Marc(dot)Fromm(at)wwu(dot)edu>
To: "pgsql-admin(at)postgresql(dot)org" <pgsql-admin(at)postgresql(dot)org>
Subject: restore balloons db size
Date: 2008-07-31 15:03:44
Message-ID: B0D7C0A3F35FE144A70312D086CBCA9B0CF982A5@ExchMailbox2.univ.dir.wwu.edu
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin

Does anyone have some insight on why the db size is expanding with each restore?

If I restore all the postgresql databases from pg_dumpall and use the -c to drop databases before restoring them the size of the base directory dramatically increases with each restore (193MB to 355MB to 624MB). If I run vacuumdb, it only drops by a few MB.

If I do the long restore process by:
1. stopping the postmaster
2. deleting all contents in the data folder 3. run initdb -D /var/lib/pgsql/data 4. start the postmaster 5. restore of all databases from the same pg_dumpall the size of the base directory does not balloon.

I have searched online for optimized backup and restore procedures for postgresql, so far all I have found are the postgresql.org documents which are a little vague on the subject.

I must assume there is a better method than my long process that does not bloat the size of the base directory (the databases) as the -c flag seems to do. I tried to use pg_restore but I receive a message stating the pg_dumpall file is an invalid archive.

Marc

Responses

Browse pgsql-admin by date

  From Date Subject
Next Message Tom Lane 2008-07-31 15:48:32 Re: restore balloons db size
Previous Message Johann Spies 2008-07-31 12:14:20 Re: pgAdmin III