是否可以为存在更多元组的表的实时数据库运行vacuum full verbose命令?

时间:2018-07-18 09:15:47

标签: postgresql postgresql-9.2 vacuum

我们有数千张桌子。但是在这些表中,由于这些表正在膨胀,因此大约有20到40个表总是很忙。

为了避免这种情况,我们正在运行一个shell脚本,该脚本对具有一万多个死元组的表执行完全真空操作。运行此命令时,我们将停止所有应用程序处理器,并在具有更多死元组的表上完全运行真空。

可以对具有更多死元组(大于)的表的实时数据库运行vacuum full verbose命令吗? 它会引起任何不良影响吗?

我们正在使用9.2 postgresql版本。

请澄清我。预先感谢。

1 个答案:

答案 0 :(得分:2)

“不良”取决于您的意见,但是在依赖于对这些表的访问的实时应用程序上运行时,是。

运行完全真空状态将锁定这些表并将它们重新写入到操作系统中以回收磁盘空间,真空不会减小表的大小,但会释放已用的空间供其使用。

https://www.postgresql.org/docs/9.2/static/sql-vacuum.html