This patch gives some system tables @@ -12,5 +12,6 @@ FROM pg_class c LEFT JOIN pg_namespace n ON n.oid = c.relnamespace WHERE relkind = 'r' + AND reltoastrelid!=0 ) a ) a;
But I guess it was supposed to give size of all tables.
I'm running version 9.1.9 so it should be working according to the wiki.
The original statement:
SELECT*, pg_size_pretty(total_bytes)AS total , pg_size_pretty(index_bytes)ASINDEX, pg_size_pretty(toast_bytes)AS toast , pg_size_pretty(table_bytes)ASTABLEFROM(SELECT*, total_bytes-index_bytes-COALESCE(toast_bytes,0)AS table_bytes FROM(SELECT c.oid,nspname AS table_schema, relname ASTABLE_NAME, c.reltuples AS row_estimate , pg_total_relation_size(c.oid)AS total_bytes , pg_indexes_size(c.oid)AS index_bytes , pg_total_relation_size(reltoastrelid)AS toast_bytes FROM pg_class c LEFTJOIN pg_namespace n ON n.oid = c.relnamespace WHERE relkind ='r') a
) a;