gpt4 book ai didi

postgresql - 是否可以短时间运行 VACUUM FULL 并获得一些好处?

转载 作者:行者123 更新时间:2023-12-02 15:44:45 30 4
gpt4 key购买 nike

是否可以在短时间内运行 PostgreSQL 11 的 VACUUM FULL 然后获得一些好处?还是中途取消会导致所有进度丢失?

我读过有关 pg_repack ( https://aws.amazon.com/blogs/database/remove-bloat-from-amazon-aurora-and-rds-for-postgresql-with-pg_repack/ ) 的内容,但它的工作方式(创建新表、复制数据等)对我来说听起来很冒险。这是我的偏执狂还是在生产数据库上使用它安全?

背景故事:我在 AWS Aurora PostgreSQL 11 上使用一个非常大的生产数据库。许多表数千万条记录,但已被大幅削减。问题是磁盘上(和快照中)的表大小没有减少,因为 DELETEVACUUM(没有 FULL)没有缩小文件。这些表在数百 GB 的范围内,恐怕运行 VACUUM FULL 将花费永远

最佳答案

VACUUM FULL 为表写入一个新的物理文件。在它完成之前停止它会使到目前为止所做的工作无效。

The manual:

VACUUM FULL rewrites the entire contents of the table into a newdisk file with no extra space, allowing unused space to be returned tothe operating system. This form is much slower and requires an ACCESS EXCLUSIVE lock on each table while it is being processed.

这是社区工具喜欢 pg_repack 的主要原因或 pg_squeeze被创建,它们更灵活,阻塞更少,而且通常也更快。 (我认为 pg_squeeze 还不适用于 Aurora)。

关于postgresql - 是否可以短时间运行 VACUUM FULL 并获得一些好处?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74622853/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com