【问题标题】:Launch autovaccum automatically自动启动 autovaccum
【发布时间】:2021-01-19 14:06:49
【问题描述】:

我是使用 posgtresql 的新手,我想在 dead_rows 很高时进行自动清理。

我怎样才能自动完成。

谢谢,

【问题讨论】:

    标签: database postgresql vacuum autovacuum


    【解决方案1】:

    您需要确保在 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)将触发自动真空。这两个都可以在postgresql.conf中调优,但是如果是异常也可以直接在表上设置。

    例如

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

    【讨论】:

      猜你喜欢
      • 2011-12-22
      • 2014-12-24
      • 2015-01-28
      • 2013-07-25
      • 1970-01-01
      • 1970-01-01
      • 2022-11-10
      • 2015-01-31
      • 2012-03-18
      相关资源
      最近更新 更多