我运行了下面的命令,得到了以下命令,但是对于表大小的操作有点困惑,因为我不知道pg_tablespace_size是如何工作的:
my_db=> select pg_size_pretty(pg_total_relation_size('my_table'));
 pg_size_pretty 
----------------
 123 GB
(1 row)
my_db=> select pg_size_pretty(pg_indexes_size('my_table'));
 pg_size_pretty 
----------------
 34 GB
(1 row)
my_db=> select pg_size_pretty(pg_relation_size('my_table'));
 pg_size_pretty 
----------------
 27 GB
(1 row)rest_space = pg_total_relation_size('my_table') - (pg_indexes_size('my_table') +pg_relation_size(‘my_table’)
但是我不知道rest_space (62 GB)在哪里,如果有人能解释的话,我将不胜感激。
发布于 2019-10-14 05:26:07
pg_relation_size(<tablename>)实际上是pg_relation_size(<tablename>,’main’)的缩写(参见文档)。还有自由空间地图(fsm)、可见性地图(vm)和init分叉,它们都是考虑到整个尺寸的因素。
我想如果你做了pg_total_relation_size() = pg_table_size() + pg_indexes_size(),你会得到正确的结果
https://stackoverflow.com/questions/58370328
复制相似问题