Re: Difference in the size of database size and relations

From: Jerry Sievers <gsievers19(at)comcast(dot)net>
To: Luis <luisico(at)gmail(dot)com>
Cc: pgsql-admin(at)postgresql(dot)org
Subject: Re: Difference in the size of database size and relations
Date: 2013-12-10 18:07:59
Message-ID: 86vbyw1sw0.fsf@jerry.enova.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin

Luis <luisico(at)gmail(dot)com> writes:

> Hi,
>
> I have noticed a weird thing in different databases.
> When I run pg_database_size on some databases they report a pretty
> high value and if I take a look to all relations the sum of all of
> them is not even the half of the one reported by pg_database_size.
>
> Although I've seen this in different databases, this is a specific example.
>
>
> This are the sizes reported by this query:
>
> SELECT pg_size_pretty(pg_relation_size(C.oid)) AS "size"
> FROM pg_class C
> LEFT JOIN pg_namespace N ON (N.oid = C.relnamespace)
> WHERE nspname NOT IN ('pg_catalog', 'information_schema')
> ORDER BY pg_relation_size(C.oid) DESC
> LIMIT 20;
>

Try just comparing what pg_database_size() tells you vs a sum() over
relpages*8192 (assuming standard page size). You may have to do some
casting to bigint depending how large your DB is.

> size
> ---------
> 99 MB
> 45 MB
> 10 MB
> 8528 kB
> 5280 kB
> 4352 kB
> 3184 kB
> 1304 kB
> 1152 kB
> 896 kB
> 544 kB
> 528 kB
> 336 kB
> 336 kB
> 336 kB
> 304 kB
> 296 kB
> 288 kB
> 272 kB
> 248 kB
>
> And this is the database size reported by this query:
> SELECT pg_size_pretty(pg_database_size('mydb'));
>
> pg_size_pretty
> ----------------
> 3539 MB
>
> I've read about LOBs but I don't seem to have any.
>
> Any idea where the space is being used?
>
> Thanks

--
Jerry Sievers
Postgres DBA/Development Consulting
e: postgres(dot)consulting(at)comcast(dot)net
p: 312.241.7800

In response to

Browse pgsql-admin by date

  From Date Subject
Next Message Dev Kumkar 2013-12-11 06:31:51 Case sensitivity
Previous Message Luis 2013-12-10 14:29:36 Re: Difference in the size of database size and relations