微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

自动启动 autovaccum

如何解决自动启动 autovaccum

我是使用 posgtresql 的新手,我想在 dead_rows 很高时执行 autovaccum。

如何自动执行。

谢谢,

解决方法

您需要确保在 postgresql.conf 中将 autovacuum 设置为“on”。然后你会想要调整:

autovacuum_vacuum_scale_factor - 将其设置为 0 到 1 之间的数字,表示需要更改多少表才能触发真空 autovacuum_vacuum_threshold - 将此设置为会触发真空的行更改数。

因此,如果您有一个表将有 1,000,000 行,并且您将 autovacuum_vacuum_scale_factor 设置为 0.05 并将 autovacuum_vacuum_threshold 设置为 5000,这将意味着表的 5%(50,000 行)+ 5,000 行(总共 55,000) 将触发 autovacuum。这两个都可以在postgresql.conf中调,不过如果是异常也可以直接在表上设置。

例如

ALTER TABLE mytable
SET (autovacuum_vacuum_scale_factor = 0.05,autovacuum_vacuum_threshold = 5000);

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。