【发布时间】:2014-03-13 03:08:06
【问题描述】:
团队,
我的红移版本是:
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') );
有没有像 oracle 一样的替代方法(来自 DBA_SEGMENTS)
对于表大小,我有以下查询,但不确定 MBYTES 的确切含义。对于第 3 行,MBYTES = 372。这意味着 372 MB?
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)
【问题讨论】:
-
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 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; ------------此查询中 mbytes 的确切含义是什么。 ?
标签: amazon-web-services amazon-redshift