我紅移的版本是:
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)
爲tble大小,我有以下查詢,但不確定關於MBYTES的確切記憶。對於第三行,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)
選擇裝飾(pgdb.datname)數據庫,修剪(pgn.nspname)爲架構, 裝飾( a.name)as Table,b.mbytes,a.rows from(select db_id,id,name,sum(rows)as stv_tbl_perm a group by db_id,id,name)作爲 將pg_class作爲pgc連接到pgc .oid = a.id 加入pg_namespace作爲PGN上pgn.oid = pgc.relnamespace 加入pg_database裏作爲PGDB上pgdb.oid = a.db_id 加入(選擇TBL,COUNT(*),如通過TBL從stv_blocklist組字節 )b對a.id = b.tbl 按a.db_id順序排列,a。名稱; -----------這個查詢中mbytes的確切含義是什麼。 ? – user3258784