Free Space?

Started by Rod Tayloralmost 23 years ago2 messageshackers
Jump to latest
#1Rod Taylor
rbt@rbt.ca

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((select sum(stawidth * (1 - stanullfrac))
from pg_statistic
where starelid = pg_class.oid)
, 0) + 23)
) as freespace
from pg_class
where relkind in ('r');

--
Rod Taylor <rbt@rbt.ca>

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

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: Rod Taylor (#1)
Re: Free Space?

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