如何解决自动启动 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 举报,一经查实,本站将立刻删除。