title: list of schema with sizes (relative and absolute) in a PostgreSQL database
body: <p>I'm looking for a query that returns a result of the form for any database (see example below supposing total space used by the database is 40GB)</p>
  <pre><code>schema | size | relative size
  ----------+-------------------
  foo    | 15GB |   37.5%      
  bar    | 20GB |     50%
  baz    |  5GB |   12.5%
  </code></pre>
  <p>I've managed to concoct a list of space using entities in the database sorted by schema, which has been useful, but getting a summary per schema from this doesn't look so easy. See below.</p>
  <pre><code>SELECT relkind,
         relname,
         pg_catalog.pg_namespace.nspname,
         pg_size_pretty(pg_relation_size(pg_catalog.pg_class.oid))
  FROM   pg_catalog.pg_class
         INNER JOIN pg_catalog.pg_namespace
           ON relnamespace = pg_catalog.pg_namespace.oid
  ORDER  BY pg_catalog.pg_namespace.nspname,
            pg_relation_size(pg_catalog.pg_class.oid) DESC;
  </code></pre>
  <p>This gives results like</p>
  <pre><code>  relkind |                relname                |      nspname       | pg_size_pretty 
  ---------+---------------------------------------+--------------------+----------------
    r       | geno                                  | btsnp              | 11 GB
    i       | geno_pkey                             | btsnp              | 5838 MB
    r       | anno                                  | btsnp              | 63 MB
    i       | anno_fid_key                          | btsnp              | 28 MB
    i       | ix_btsnp_anno_rsid                    | btsnp              | 28 MB
    [...]
    r       | anno                                  | btsnp_shard        | 63 MB
    r       | geno4681                              | btsnp_shard        | 38 MB
    r       | geno4595                              | btsnp_shard        | 38 MB
    r       | geno4771                              | btsnp_shard        | 38 MB
    r       | geno4775                              | btsnp_shard        | 38 MB
  </code></pre>
  <p>It looks like using an aggregation operator like SUM may be necessary, no success with that thus far.</p>