• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
一泽涟漪
时光荏苒 白驹过隙
博客园    首页    新随笔    联系   管理    订阅  订阅
Redshift中查看database、schema、table数据大小

1. 查看当前数据库大小以及记录行数

select
  trim(pgdb.datname) as database, sum(b.mbytes) as mbytes, sum(a.rows) as 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
group by pgdb.datname
order by 1;

 database  | mbytes  |    rows    
-----------+---------+------------
 analytics | 1074998 | 5030398009
(1 row)

 2. 查看当前数据库各schema大小以及每个schema下的记录行数

select
  trim(pgdb.datname) as database, trim(pgn.nspname) as schema,
  sum(b.mbytes) as mbytes, sum(a.rows) as 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
group by pgdb.datname, pgn.nspname
order by 1, 2;

 database  |   schema    | mbytes |    rows    
-----------+-------------+--------+------------
 analytics | datascience |    168 |     196128
 analytics | dba         |  15852 |   43752350
 analytics | dimensions  |  28223 |  225275059
 analytics | facts       | 265457 | 1382762113
 analytics | public      |  50235 |  104688442
 analytics | search_data | 696799 | 3235794562
 analytics | staging     |  18264 |   37929355
(7 rows)

 3. 查看当前数据库下每张表的大小

方法一

SELECT   TRIM(pgdb.datname) AS Database,
         TRIM(a.name) AS Table,
         ((b.mbytes/part.total::decimal)*100)::decimal(5,2) AS pct_of_total,
         b.mbytes,
         b.unsorted_mbytes
FROM     stv_tbl_perm a
JOIN     pg_database AS pgdb
  ON     pgdb.oid = a.db_id
JOIN     ( SELECT   tbl,
                    SUM( DECODE(unsorted, 1, 1, 0)) AS unsorted_mbytes,
                    COUNT(*) AS mbytes
           FROM     stv_blocklist
           GROUP BY tbl ) AS b
       ON a.id = b.tbl
JOIN     ( SELECT SUM(capacity) AS total
           FROM   stv_partitions
           WHERE  part_begin = 0 ) AS part
      ON 1 = 1
WHERE    a.slice = 0
ORDER BY 4 desc, db_id, name;

 database  |                     table                     | pct_of_total | mbytes | unsorted_mbytes 
-----------+-----------------------------------------------+--------------+--------+-----------------
 analytics | es_entitysvc_response_logshed                 |        39.42 | 450948 |          449820
 analytics | es_entitysvc_logshed                          |        18.06 | 206630 |          206054
 analytics | auto_events                                   |         9.99 | 114379 |          113395
 analytics | auto_events_realtime                          |         4.11 |  47029 |           47020
 analytics | auto_events_rt                                |         2.20 |  25251 |           25242
 analytics | entity                                        |         1.87 |  21485 |           16553
 analytics | unified_events_dev                            |         1.27 |  14604 |           14592
 analytics | logshedevents_processed                       |         0.65 |   7504 |            7504
 analytics | client_events_stg                             |         0.60 |   6912 |            6912
 analytics | search_autocomplete_response_processed        |         0.58 |   6672 |            6660
 analytics | entity_gen3                                   |         0.51 |   5940 |            5796
 analytics | staging_auto_events_stg                       |         0.47 |   5436 |            5436
 analytics | es_denaliusage_logshed                        |         0.45 |   5224 |            5212
 analytics | scout4cars_events                             |         0.38 |   4430 |            4430
 analytics | search_autocomplete_request_processed         |         0.35 |   4080 |            4068
 analytics | osm_metrics                                   |         0.32 |   3718 |            3708
 analytics | gm_auto_events                                |         0.32 |   3715 |            1970
 analytics | client_events_raj                             |         0.32 |   3707 |            1584
 analytics | scout_events_tmp                              |         0.29 |   3384 |            1716
 analytics | client_events_sessionmap_stg_loadtest         |         0.28 |   3288 |            3288
 analytics | unified_events_for_scout_dev                  |         0.27 |   3192 |            3180
 analytics | client_events_vlad                            |         0.27 |   3144 |            1572
 analytics | client_events_backup_till_1010                |         0.27 |   3120 |            1584
(25 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 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 1, 2, 4 desc;

 database  |   schema    |                     table                     | mbytes |    rows    
-----------+-------------+-----------------------------------------------+--------+------------
 analytics | datascience | clusterwithstartstop                          |    168 |     196128
 analytics | dba         | staging_auto_events_stg                       |   5436 |   42524253
 analytics | dba         | client_events                                 |   1680 |       8623
 analytics | dba         | client_events_hive                            |   1680 |       2742
 analytics | dba         | client_events_stg                             |   1656 |       3690
 analytics | dba         | client_events_stg_hive                        |   1548 |       2537
 analytics | dba         | facts_auto_events                             |   1452 |    1053537
 analytics | dba         | auto_events                                   |   1200 |      79584
 analytics | dba         | facts_auto_events_hive                        |   1200 |      77384
 analytics | dimensions  | entity                                        |  21485 |  178665073
 analytics | dimensions  | entity_gen3                                   |   5940 |   46499810
 analytics | dimensions  | date                                          |    216 |      39444
 analytics | dimensions  | location                                      |    192 |      65921
 analytics | dimensions  | product                                       |    132 |       2292
 analytics | dimensions  | carrier                                       |     96 |       1128
 analytics | dimensions  | application_info                              |     90 |       1248
 analytics | dimensions  | event_type_classification                     |     72 |        143
 analytics | facts       | auto_events                                   | 114379 |  893071197
 analytics | facts       | auto_events_realtime                          |  47029 |   78054568
(21 rows)

 方法三

select
  cast(use2.usename as varchar(50)) as owner, 
  pgc.oid,
  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
 left join pg_user use2 on (pgc.relowner = use2.usesysid)
 join pg_namespace as pgn on pgn.oid = pgc.relnamespace 
    and pgn.nspowner > 1
 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 mbytes desc, a.db_id, a.name; 

         owner          |   oid   | database  |   schema    |                     table                     | mbytes |    rows    
------------------------+---------+-----------+-------------+-----------------------------------------------+--------+------------
 search_data_writer     |  780702 | analytics | search_data | es_entitysvc_response_logshed                 | 450948 | 1983660186
 search_data_writer     |  780704 | analytics | search_data | es_entitysvc_logshed                          | 206630 |  870298752
 tnadmin                |  868711 | analytics | facts       | auto_events                                   | 114379 |  893071197
 client_events_etl_user |  680119 | analytics | facts       | auto_events_realtime                          |  47029 |   78054568
 tnadmin                |  868715 | analytics | facts       | auto_events_rt                                |  25251 |  184784513
 sheena                 |  119412 | analytics | dimensions  | entity                                        |  21485 |  178665073
 client_events_etl_user | 1080972 | analytics | facts       | unified_events_dev                            |  14604 |  104578129
 search_data_writer     |  225115 | analytics | search_data | logshedevents_processed                       |   7504 |  112599927
 tnadmin                |  148013 | analytics | staging     | client_events_stg                             |   6912 |    9145782
 search_data_writer     |  218921 | analytics | search_data | search_autocomplete_response_processed        |   6672 |  116412380
 tnadmin                |  950671 | analytics | dimensions  | entity_gen3                                   |   5940 |   46499810
 tnadmin                |  252547 | analytics | dba         | staging_auto_events_stg                       |   5436 |   42524253
 search_data_writer     |  958865 | analytics | search_data | es_denaliusage_logshed                        |   5224 |   11127230
 tnadmin                |  754088 | analytics | facts       | scout4cars_events                             |   4430 |   17981548
 search_data_writer     |  218919 | analytics | search_data | search_autocomplete_request_processed         |   4080 |   42130637
 matthieu               |  157597 | analytics | facts       | osm_metrics                                   |   3718 |   33749875
 tnadmin                |  689962 | analytics | facts       | gm_auto_events                                |   3715 |   12066340
 tnadmin                |  158221 | analytics | facts       | client_events_raj                             |   3707 |    1362676
 krishna                |  138765 | analytics | staging     | client_events_sessionmap_stg_loadtest         |   3288 |   18799978
 client_events_etl_user | 1070400 | analytics | facts       | unified_events_for_scout_dev                  |   3192 |    2961636
 tnadmin                |  128436 | analytics | facts       | client_events_backup_till_1010                |   3120 |       7046
 tnadmin                |  147602 | analytics | facts       | client_events_logshed_temp                    |   3120 |      44265
(24 rows)

 

===================来自一泽涟漪的博客,转载请标明出处 www.cnblogs.com/ilifeilong===================
posted on 2018-06-16 11:04  一泽涟漪  阅读(3187)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3