42.10. pg_autovacuum

系统表 pg_autovacuumauto-vacuum 守护进程 存储每个关系一个的配置参数,给出的参数将用于自动清理该表。 如果没有提供条目,那么使用系统范围的缺省。

Table 42-10. pg_autovacuum 字段

名字类型引用描述
vacrelidoidpg_class.oid此条记录用于的表
enabledbool 如果为假,该表从不会被自动清理
vac_base_threshinteger 清理前修改的最少的元组数目
vac_scale_factorfloat4 追加到 vac_base_thresh 上的元组的倍数
anl_base_threshinteger 分析之前修改的最少的元组数目
anl_scale_factorfloat4 追加到 anl_base_thresh 上的元组的倍数
vac_cost_delayinteger 客户化的 vacuum_cost_delay 参数
vac_cost_limitinteger 客户化 vacuum_cost_limit 参数

自动清理(autovacuum)守护进程在某个表上元组的更新或者删除数目超过 vac_base_thresh 加上 vac_scale_factor 乘以关系(表)中当前的有效元组的估计数之后,将对该表发起一次 VACUUM 操作。 类似,如果某表上插入,更新或者删除的元组数目超过了 anl_base_thresh 加上 anl_scale_factor 乘以关系(表)中当前有效元组的估计数之后, 讲对该表发起一次 ANALYZE 操作。

上述所有数字字段都可以包含 -1 (或者是任何负数), 表示在这个数值上使用系统范围的缺省值。 Observe that the 注意到 vac_cost_delay 变量从配置参数 autovacuum_vacuum_cost_delay 继承缺省数值,如果前面这个参数设置为负值,则从 vacuum_cost_delay 继承缺省值。 vac_cost_limit 也一样。