On Thu, May 26, 2005 at 09:39:26PM -0500, Steve Lane wrote: > Attached is a view I wrote for postgres 7.4 that seems to provide pretty > accurate reporting of table sizes. For each non-system table in a database > it shows base table size, size of any related TOAST data, and aggregate size > of indexes. > > The code is somewhat ugly in that it contains a bunch of CASE statements the > sole point of which is to transform the occasional NULL into a 0. > > Object sizes are computed from pg_class.relpages with an assumed page size > of 8192. > > Comments and improvements most welcome. You could change all those "CASE WHEN foo IS NULL THEN 0 ELSE foo" into COALESCE(foo, 0). Additionally, "show block_size" will give you the block (page) size. I don't see how would you use that in a query though. -- Alvaro Herrera (<alvherre[a]surnet.cl>) "La tristeza es un muro entre dos jardines" (Khalil Gibran)