如何在Postgres 9.2中删除死行版本

时间:2013-02-28 11:52:30

标签: postgresql postgresql-9.2

我在数据库的表格上放了一个真空,看起来它没有帮助我。例如,我有一个巨大的表,当我对它运行真空时,它返回有87887889个无法删除的死行版本

我的问题是如何摆脱这些死行

1 个答案:

答案 0 :(得分:2)

如果常规真空不足,您有两个基本选项。两者都需要一个完整的表锁。

  1. VACUUM FULL。这不需要额外的磁盘空间,但需要一段时间才能完成。

  2. CLUSTER。这将以针对给定索引优化的物理顺序重写表。它需要额外的空间来进行重写,但要快得多。

  3. 一般情况下,如果磁盘空间允许,我建议在维护窗口期间使用CLUSTER。