Thread: Free Space?

Free Space?

From
Rod Taylor
Date:
I was poking around to see if you can come up with an estimate for free
space in a table... Not having much luck..

Best I found was the below, which is only anywhere near close on tables
that store stats on all columns -- which isn't normal.

select relname    , relpages * 8192 as spaceused    , relpages * (8192 - 20)      - (reltuples * (
coalesce((selectsum(stawidth * (1 - stanullfrac))                      from pg_statistic                     where
starelid= pg_class.oid)                  , 0) + 23)        ) as freespace from pg_classwhere relkind in ('r'); 

--
Rod Taylor <rbt@rbt.ca>

PGP Key: http://www.rbt.ca/rbtpub.asc

Re: Free Space?

From
Tom Lane
Date:
Rod Taylor <rbt@rbt.ca> writes:
> I was poking around to see if you can come up with an estimate for free
> space in a table... Not having much luck..

contrib/pgstattuple/ might help.
        regards, tom lane