как найти размер базы данных, схемы, таблицы в красном смещении

Команда,

моя версия красного смещения:

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

Как узнать размер базы данных, табличное пространство, размер схемы и размер таблицы?

но ниже не работают в красном смещении (для выше версии)

SELECT pg_database_size('db_name');
SELECT pg_size_pretty( pg_relation_size('table_name') );

Есть ли альтернатива, чтобы узнать, как оракул (от DBA_SEGMENTS)

для размера таблицы, у меня есть запрос ниже, но не уверен насчет точного отображения MBYTES. Для 3-й строки, MBYTES = 372. это значит 372 МБ?

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)

Ответы на вопрос(7)

Ваш ответ на вопрос