Re: Dump size bigger than pgdata size?

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: "Nicola Mauri" <Nicola(dot)Mauri(at)saga(dot)it>
Cc: pgsql-admin(at)postgresql(dot)org
Subject: Re: Dump size bigger than pgdata size?
Date: 2006-06-21 17:00:22
Message-ID: 11486.1150909222@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin

"Nicola Mauri" <Nicola(dot)Mauri(at)saga(dot)it> writes:
> I'm using pg_dump to take a full backup of my database using a compressed
> format:
> $ pg_dump -Fc my_db > /backup/my_db.dmp

> It produces a 6 GB file whereas the pgdata uses only 5 GB of disk space:
> ...
> Database contains about one-hundred-thousands binary images, some of which
> may be already compressed.

Are those stored as bytea fields, or large objects, or what?

I can easily imagine bytea inflating to be larger in a dump than it is
on disk, since the text format for non-ASCII byte values looks like "\\nnn"
ie 5 bytes for only one byte on disk. Assuming that ASCII bytes make up
about half of the data, the average expansion factor would be about 2.5x.
Compression of the dump text would buy back some of this bloat but
probably not all.

This could be avoided by using COPY BINARY format, but I don't see any
very nice way to do that in the context of pg_dump --- it needs to
intermix COPY data with SQL commands ...

regards, tom lane

In response to

Responses

Browse pgsql-admin by date

  From Date Subject
Next Message Jeff Frost 2006-06-21 21:27:02 Re: strange fsm issues
Previous Message Ivo Rossacher 2006-06-21 16:52:15 Re: "UNICODE" error during restoration