首页 > 解决方案 > 在不锁定表的情况下回收磁盘空间 - PostgreSQL 10

问题描述

我在 PostgreSQL 数据库中有几个经常使用的表(用于插入/删除目的)。有时,它们的表大小会增长到 GB。如何从这些表中回收磁盘空间而不锁定它们。这些表几乎一直都需要使用,所以我不能把它们锁起来。VACUUM FULL回收磁盘空间但锁定表,所以我不能使用 FULL 选项。

有人可以建议一种方法吗?

谢谢

标签: postgresqldatabase-performancediskspacepostgresql-10

解决方案


通常你可以通过配置足够积极的 autovacuum 来避免这个问题,它可以跟上变化率。

如果这不起作用,或者如果您有常规DELETE的 mass ,请查看pg_squeezepg_repack 之类的工具。


推荐阅读