暂无图片
vacuum之后,表变大了,怎么回事?
我来答
分享
暂无图片 匿名用户
vacuum之后,表变大了,怎么回事?

--vacuum 之前
table_name | table_size | relfrozenxid | age
------------+------------+--------------+-----
users | 8192 bytes | 11361 | 95

vacuum verbose users;
--vacuum 之后
table_name | table_size | relfrozenxid | age
------------+------------+--------------+-----
users | 40 kB | 11361 | 95


表只有6条数据


(postgres@[local]:5432)-[testdb]-#select count(*) from users;
count
-------
6
(1 row)

(postgres@[local]:5432)-[testdb]-#\d users;
Table "public.users"
Column | Type | Collation | Nullable | Default
--------+-----------------------+-----------+----------+---------
id | integer | | |
name | character varying(30) | | | 

我来答
添加附件
收藏
分享
问题补充
1条回答
默认
最新
清风生

首先,\dt+ 查看到的表大小包含:表main文件、fsm、vm以及toast等内容,其次vm、fsm文件不是建表时创建的,而是这个表第一次vacuum时创建的。main文件8k、fsm文件24k、vm文件8k,共40k

暂无图片 评论
暂无图片 有用 1
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏