假设表的模式为<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;
文档内容是否对您有帮助?