Re: DB size and TABLE sizes don't seem to add up

From: Heikki Linnakangas <hlinnakangas(at)vmware(dot)com>
To: David Wall <d(dot)wall(at)computer(dot)org>
Cc: pgsql-performance(at)postgresql(dot)org
Subject: Re: DB size and TABLE sizes don't seem to add up
Date: 2014-02-18 08:34:32
Message-ID: 53031B18.5060103@vmware.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-performance

On 02/18/2014 12:14 AM, David Wall wrote:
> I am running PG 9.2.4 and I am trying to figure out why my database size
> shows one value, but the sum of my total relation sizes is so much less.
>
> Basically, I'm told my database is 188MB, but the sum of my total
> relation sizes adds up to just 8.7MB, which is 1/20th of the reported
> total. Where is the 19/20th of my data then? We do make significant
> use of large objects, so I suspect it's in there. Is there a relation
> size query that would include the large object data associated with any
> OIDs in those tables?

You can use "select pg_total_relation_size('pg_largeobject')" to get the
total size of the large objects. Attributing large objects to the tables
that refer them is more difficult. For a single table, something like this:

select sum(pg_column_size(lo.data))
from lotest_stash_values t, pg_largeobject lo
where lo.loid = t.loid;

Replace "lotest_stash_values" with the table's name and lo.loid with the
name of the OID column.

- Heikki

In response to

Responses

Browse pgsql-performance by date

  From Date Subject
Next Message Michael Stone 2014-02-18 14:25:04 Re: Optimal settings for RAID controller - optimized for writes
Previous Message Scott Marlowe 2014-02-18 04:04:09 Re: Optimal settings for RAID controller - optimized for writes