postgresql - 在不锁定表的情况下回收磁盘空间 - PostgreSQL 10

标签 postgresql database-performance diskspace postgresql-10

我在 PostgreSQL 数据库中有几个经常使用的表(用于插入/删除目的)。有时,它们的表大小会增长到 GB。如何在不锁定这些表的情况下从这些表中回收磁盘空间。这些表几乎一直都需要使用,所以我无法承受将它们锁定的后果。 VACUUM FULL 回收磁盘空间,但会锁定表,因此我无法使用 FULL 选项。

有人可以推荐一个方法吗?

谢谢

最佳答案

通常,您可以通过将 autovacuum 配置得足够积极,使其能够跟上更改率来避免该问题。

如果这不起作用,或者如果您有常规质量 DELETE,请查看像 pg_squeeze 这样的工具或 pg_repack .

关于postgresql - 在不锁定表的情况下回收磁盘空间 - PostgreSQL 10,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51026929/

相关文章:

sql - PostgreSQL - 消除类似的行,但仅限于某些值

postgresql - Postgres View 中的默认值触发而不是更新

hadoop - 如何为Hadoop MapReduce2 History Server启用GC日志记录,同时防止日志文件覆盖和限制磁盘空间使用

mysql - 使用 InnoDB,我如何收回索引空间?

Mysql自内连接查询?

Linux du目录大小,这怎么可能?

sql - 将子查询结果与一对 2 个参数进行比较

sql - 具有字符串路径的分层数据 - 查询节点,获取所有父节点及其节点的第一级

c# - 使用 IDbConnection.Query() 返回 IEnumerable 时,AsList() 是否比 ToList() 更好?

java - 登录 SQL Server 2012(64 位)时出现问题