PostgreSQL 8.2.3 中文文档
后退快退章43. 系统表快进前进

43.10. pg_autovacuum

pg_autovacuum 为 autovacuum 守护进程存储针对每个关系的配置参数,给出的参数将用于自动清理该表。如果没有提供条目,那么使用系统范围的缺省。关于 autovacuum 的更多信息,参见节22.1.4

表43-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 参数
freeze_min_ageinteger 自定义的 vacuum_freeze_min_age 参数
freeze_max_ageinteger 自定义的 autovacuum_freeze_max_age 参数

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

同样,如果表的 pg_class.relfrozenxid 字段超过 freeze_max_age 次事务,那么无论该表是否被修改,autovacuum 都会执行 VACUUM 操作以避免事务 ID 重叠。即使在 autovacuum 被禁用的情况下,系统也会调用 autovacuum 来执行 VACUUM 。参见节22.1.3获取更多信息。

上述所有数字字段都可以包含 -1 或者是任何负数,表示在这个数值上使用系统范围的缺省值。注意,vac_cost_delay 变量从配置参数 autovacuum_vacuum_cost_delay 继承缺省数值,如果前面这个参数设置为负值,则从 vacuum_cost_delay 继承缺省值。vac_cost_limit 也一样。同样,autovacuum 将忽略企图针对单个表设置大于系统全局值的 freeze_max_age 值(该值仅允许比全局值更小),同时,freeze_min_age value 将被限制为系统全局 autovacuum_freeze_max_age 值的一半之内。


后退首页前进
pg_auth_members上一级pg_cast