myorama
7/16/2014 - 4:06 PM

schemas global size.sql

SELECT schema_name, 
       pg_size_pretty(pg_database_size(current_database())) as total_size,
       pg_size_pretty(sum(table_size)::bigint) as used_size,
       round((sum(table_size) / pg_database_size(current_database())) * 100, 2) as used_pct
FROM (
  SELECT pg_catalog.pg_namespace.nspname as schema_name,
         pg_relation_size(pg_catalog.pg_class.oid) as table_size
  FROM   pg_catalog.pg_class
  JOIN   pg_catalog.pg_namespace ON pg_catalog.pg_class.relnamespace = pg_catalog.pg_namespace.oid
 WHERE   pg_catalog.pg_namespace.nspname NOT IN ('pg_catalog', 'information_schema')
) t
GROUP BY schema_name
ORDER BY schema_name;
SELECT schema_name, 
       pg_size_pretty(sum(table_size)::bigint) as used_size,
       round((sum(table_size) / pg_database_size(current_database())) * 100, 2) as used_pct
FROM (
  SELECT pg_catalog.pg_namespace.nspname as schema_name,
         pg_relation_size(pg_catalog.pg_class.oid) as table_size
  FROM   pg_catalog.pg_class
     JOIN pg_catalog.pg_namespace ON relnamespace = pg_catalog.pg_namespace.oid
) t
GROUP BY schema_name
ORDER BY schema_name;