假設表的模式為<schemaname>,表名為<tablename>

  • 執行以下命令,查詢一張表的總大小(單位為MB,包含表的索引和資料):

    select pg_size_pretty(pg_total_relation_size('<schemaname>.<tablename>'));
  • 執行以下命令,查詢表的資料大小(單位MB,不包括索引):

    select pg_size_pretty(pg_relation_size('<schemaname>.<tablename>'));
  • 執行以下命令,查詢分區表所有分區的總大小(單位MB,包含表的索引和資料):

    select schemaname,tablename,round(sum(pg_total_relation_size(schemaname || '.' || partitiontablename))/1024/1024) "MB" from pg_partitions where schemaname='<schemaname>' and tablename='<tablename>' group by 1,2;
  • 執行以下命令,查詢一個Schema下面的所有表的總大小(單位MB,包括索引和資料):

    select schemaname ,round(sum(pg_total_relation_size(schemaname||'.'||tablename))/1024/1024) "Size_MB" from pg_tables where schemaname='<schemaname>' group by 1;
  • 執行以下命令,查詢每個資料庫的大小(單位MB):

    select datname,pg_size_pretty(pg_database_size(datname)) from pg_database;