首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在不间断的情况下监控或做真空?

如何在不间断的情况下监控或做真空?
EN

Database Administration用户
提问于 2013-05-12 18:21:08
回答 1查看 2.2K关注 0票数 2

我有后遗症

我试着在一个特定的桌子上运行完全真空,但它运行了超过5个小时。我在这张表上停止所有的进程,我不能再让这个过程停止下去了。

有办法在后台运行真空吗?有办法监控真空吗?

EN

回答 1

Database Administration用户

回答已采纳

发布于 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作为一种在线的、降低锁定的选择。

票数 3
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/42040

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档