Thread: SQL query to check size of database

SQL query to check size of database

From
webmaster
Date:
Hi, I have following problem:
My provider allows me to host my site and my pg database, but limited only by
50MB with quota system. I can only ftp to my home dir, but I
don't have the direct acces to /var/lib/data/base/my_database directory, so I
can't see my files and their sizes. Nor with ftp client nor php script (and
this is running as user nobody so it'd not help at all), no access to telnet
port from my IP. I would like to add some new tables (quite long) but I'm not
sure I have enough free space now. And asking the provider every time about
used space isn't the right way...

Is there any way how to retrieve the information about file sizes with some SQL
query? I know I can do something like SELECT * FROM pg_classes but I'm not sure
if i can use the information from fields 'reltuples' and 'relpages' - I was
experimenting with those values but without succes - trying to find the
constant value of the page size - it seems not work.

Thanks for any ideas (hope it's interesting not only for me)...

-- Michal Samek, Tony distribuce s.r.o.
webmaster@tony.cz  (++420659/321350)
ICQ: 38607210


Re: [SQL] SQL query to check size of database

From
Tom Lane
Date:
webmaster <webmaster@tony.cz> writes:
> Is there any way how to retrieve the information about file sizes with
> some SQL query? I know I can do something like SELECT * FROM
> pg_classes but I'm not sure if i can use the information from fields
> 'reltuples' and 'relpages' - I was experimenting with those values but
> without succes - trying to find the constant value of the page size -
> it seems not work.

I think relpages is accurate after a VACUUM, but it's not maintained
on-the-fly...
        regards, tom lane