Interesting.  Is there a perf hit to having a big file on disk?  My
understanding is that the primary thing that really matters is keeping your
active set in memory.

This is on Postgres 9.0.x, running on Heroku/ec2.

We do have extremely compressible data so it may be that the dump is
compressed: I'm downloading it now to check.

Thanks for the replies,
Carson

On Thu, Mar 29, 2012 at 12:11 AM, John R Pierce <pie...@hogranch.com> wrote:

> On 03/28/12 10:32 PM, Carson Gross wrote:
>
>> I've got a pretty big database (~30 gigs) and when I do a pg_dump, it
>> ends up only being 2 gigs.
>>
>> The database consists mainly of one very large table (w/ a few varchar
>> columns) which, according to pg_relation_size() is 10 gigs and
>> pg_total_relation_size() is 26 gigs (we need to drop some indexes there.)
>>
>> I'm just trying to get my head around the pg_dump being an order of
>> magnitude smaller than the darned database itself.  I would thing that the
>> db would offer more efficient encoding for a lot of stuff vs. an ascii file.
>>
>>
> its quite possible your table has a lot of free tuples scattered through
> it as a result of updates or deletes.   vacuum makes these available for
> reuse but does NOT free the disk space.  ditto, your indexes might be very
> bloated, a reindex may significantly shrink them
>
> if you can afford some application downtime, you may consider running
> CLUSTER on that table, it will copy all the active tuples of the table to
> new file space, and free the old, and also does the reindex operation.   I
> would vacuum the table first, after ensuring there aren't any old active
> transactions ('IDLE IN TRANSACTION' status in pg_stat_activity).   Note
> that cluster takes an exclusive lock on the table, this is why I said you
> need some application downtime.
>
> you don't say what version you're running, older versions had more
> problems with bloating indexes than newer ones.
>
>
>
>
>
>
>
> --
> 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<http://www.postgresql.org/mailpref/pgsql-general>
>

Reply via email to