You should read the definitions for the functions you are using to retrieve the sizes.
Hi thereWanna see how size a schema is in my PostgreSQL 9.2Got two queries - they return different values... can u please check?cheers;Query 1:SELECT schema_name,pg_size_pretty(sum(table_size)::bigint) as "disk space",(sum(table_size) / pg_database_size(current_database())) * 100as "percent"FROM (SELECT pg_catalog.pg_namespace.nspname as schema_name,pg_relation_size(pg_catalog.pg_class.oid) as table_sizeFROM pg_catalog.pg_classJOIN pg_catalog.pg_namespaceON relnamespace = pg_catalog.pg_namespace.oid) tGROUP BY schema_nameORDER BY schema_name
pg_relation_size: "Disk space used by the specified fork ('main', 'fsm', 'vm', or 'init') of the specified table or index"
The 'init' fork is (I think) non-zero but extremely small.
TOAST for a given relation is considered its own table
Query 2:select schemaname, pg_size_pretty(sum(pg_table_size(schemaname||'.'||relname))::bigint) as sfrom pg_stat_user_tablesgroup by schemaname
pg_table_size: "Disk space used by the specified table, excluding indexes (but including TOAST, free space map, and visibility map)"
David J.