SELECT SUM(total_size) / (1024*1024) as database_size FROM (
  SELECT schema_name,
       sum(table_size) AS total_size ,
       (sum(table_size) / database_size) * 100 AS persentase_total_size
  FROM (
    SELECT pg_catalog.pg_namespace.nspname as schema_name,
         pg_relation_size(pg_catalog.pg_class.oid) as table_size,
         sum(pg_relation_size(pg_catalog.pg_class.oid)) over () as database_size
    FROM   pg_catalog.pg_class
       JOIN pg_catalog.pg_namespace ON relnamespace = pg_catalog.pg_namespace.oid
  ) AS t0
  WHERE schema_name NOT IN ( 'pg_catalog' , 'information_schema' , 'pg_toast')
  GROUP BY schema_name, database_size
  ORDER BY schema_name
) AS t1
