首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >“pg_tablespace_size”是如何工作的?

“pg_tablespace_size”是如何工作的?
EN

Stack Overflow用户
提问于 2019-10-14 04:59:04
回答 1查看 92关注 0票数 0

我运行了下面的命令,得到了以下命令,但是对于表大小的操作有点困惑,因为我不知道pg_tablespace_size是如何工作的:

代码语言:javascript
运行
复制
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)在哪里,如果有人能解释的话,我将不胜感激。

EN

回答 1

Stack Overflow用户

发布于 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(),你会得到正确的结果

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58370328

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档