首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >真空满桌所需空间

真空满桌所需空间
EN

Stack Overflow用户
提问于 2018-07-16 12:06:31
回答 2查看 7K关注 0票数 16

PostgreSQL 10.4手册中有关全真空的说明:

请注意,它们还临时使用大约等于表大小的额外磁盘空间,因为在新表和索引完成之前,无法释放旧的表和索引。

我在许多不同的地方读过这篇文章,措辞也多种多样。有些表示所需的空间最多等于空表的大小。暗示它可能只需要足够的空间来存储产生的空表,即大小在0- size _ of _原_ table范围内,这取决于表中有多少死行。

我的问题是:做一个完全真空的表总是需要一个与原始表大小相等的空间,还是取决于表中活行的数量?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-07-16 13:17:58

VACUUM (FULL)所需的额外空间取决于表中活行的数量。

VACUUM (FULL)过程中,会编写一个新的表副本。所有活元组(=行版本)和不能删除的死元组都将写入这个新副本。

事务完成后,旧副本将被移除。

票数 20
EN

Stack Overflow用户

发布于 2018-07-27 18:16:56

建议有至少等于数据库中最大表大小的空闲空间。

也就是说,如果数据库大小为10 2GB,数据库中最大的表大小为2GB。然后,您必须有至少2GB的额外空间在您的磁盘上,以顺利完成真空。

因为真空填充将创建表的新副本,不包括死行,然后删除现有表。

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

https://stackoverflow.com/questions/51361463

复制
相关文章

相似问题

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