PostgreSQL:如何启用自动清理?

19
如何在PostgreSQL中启用自动清理?我了解它的目的,只是找不到有关如何启用它的简单答案。
2个回答

40

自动清理默认开启。对于小型数据库,无需进行任何操作,一切都将正常工作。请确认是否已开启,可检查

SHOW autovacuum;

psql 中,它应该报告 on

大型繁忙的数据库有时需要进行调整以使自动清理更频繁运行,或更多地关注繁忙队列表。有关调整自动清理的详细信息,请参见手册。


1
我按照建议检查了状态,并且实际上命令返回了“on”。也许我没有理解自动清理是如何工作的,因为当我使用pgAdmin运行VACUUM时,我仍然会收到提示……我本来以为自动清理会定期自动运行VACUUM。 - JTW
1
它确实会这样做。也许pgadmin认为特定的表需要更多?在某些工作负载情况下,自动清理无法按默认设置跟上。大多是繁忙的队列表。如果您展示了消息,那将有所帮助。 - Craig Ringer

2

您也可以手动启动清理过程。通过运行psql命令vacuum full analyze verbose。这将需要一些时间。


10
请注意,这个操作仅锁定表格,因此可能不适用于大型生产数据库。相比之下,“自动清理”是按比例缓慢执行的。 - Peopleware

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接