title: how to find size of database, schema, table in redshift
body: <p>Team, </p>
  
  <p>my redshift version is: </p>
  
  <pre><code>PostgreSQL 8.0.2 on i686-pc-linux-gnu, compiled by GCC gcc (GCC) 3.4.2 20041017 (Red Hat 3.4.2-6.fc3), Redshift 1.0.735
  </code></pre>
  
  <p>how to find out database size, tablespace,  schema size &amp; table size ?</p>
  
  <p>but below are not working in redshift ( for above version ) </p>
  
  <pre><code>SELECT pg_database_size('db_name');
  SELECT pg_size_pretty( pg_relation_size('table_name') );
  </code></pre>
  
  <p>Is there any alternate to find out like oracle ( from DBA_SEGMENTS ) </p>
  
  <p>for tble size, i have below query, but not sure about exact menaing of MBYTES. FOR 3rd row, MBYTES = 372. it means 372 MB ? </p>
  
  <pre><code>select trim(pgdb.datname) as Database, trim(pgn.nspname) as Schema,
  trim(a.name) as Table, b.mbytes, a.rows
  from ( select db_id, id, name, sum(rows) as rows from stv_tbl_perm a group by db_id, id, name ) as a
  join pg_class as pgc on pgc.oid = a.id
  join pg_namespace as pgn on pgn.oid = pgc.relnamespace
  join pg_database as pgdb on pgdb.oid = a.db_id
  join (select tbl, count(*) as mbytes
  from stv_blocklist group by tbl) b on a.id=b.tbl
  order by a.db_id, a.name;
     database    |    schema    |      table       | mbytes |   rows
  ---------------+--------------+------------------+--------+----------
        postgres | public       | company          |      8 |        1
        postgres | public       | table_data1_1    |      7 |        1
        postgres | proj_schema1 | table_data1    |    372 | 33867540
        postgres | public       | table_data1_2    |     40 |  2000001
  
  (4 rows)
  </code></pre>