我正在开展一个项目,其中对 postgres 数据库中的某些表进行计算,并且在代码的不同部分,进行了 2 种不同的计算:
select pg_total_relation_size ('TABLENAME');
第二个:
select (relpages*8/1024) from pg_class where relname='TABLENAME' (Size in MB)
我知道 pg_total_relation_size 是我需要使用的,但我想知道另一个计算代表什么,如果第二个也是某种大小计算,为什么同一个表我得到不同的结果?
最佳答案
您可以使用 pg_size_pretty(pg_total_relation_side(oid))
漂亮地打印表格大小:
select nspname
, relname
, pg_size_pretty(pg_total_relation_size(c.oid)) as "size"
from pg_class c
left join
pg_namespace n
on n.oid = c.relnamespace
where nspname not in ('pg_catalog', 'information_schema')
order by
pg_relation_size(c.oid) desc;
关于sql - 在 postgres 中计算表大小的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24825092/