我有后遗症
我试着在一个特定的桌子上运行完全真空,但它运行了超过5个小时。我在这张表上停止所有的进程,我不能再让这个过程停止下去了。
有办法在后台运行真空吗?有办法监控真空吗?
发布于 2013-05-13 00:01:00
VACUUM FULL在表上取一个ACCESS EXCLUSIVE锁,然后重写整个表。对于一个大型表来说,这需要很长时间,特别是因为它还必须重建所有索引。您没有提到任何关于表大小或服务器的I/O子系统的信息,因此很难说5个小时是否意外。
一般不需要使用VACUUM FULL。只需使用普通的VACUUM -并打开自动吸尘器,这样,如果你需要做更多的手动VACUUM比偶尔更努力的工作。取消VACUUM FULL是安全的;但是这样做将撤销它的所有工作。
通常,只有当您试图从长期运行的VACUUM FULL连接、已准备好的事务、不够积极的自动真空等造成的严重的表膨胀中恢复时,您才需要运行<IDLE> in transaction。如果您负担不起所需的停机时间,您可以将pg_reorg作为一种在线的、降低锁定的选择。
https://dba.stackexchange.com/questions/42040
复制相似问题