# 清理与冻结

> Vacuuming 分类下的 34 个 PostgreSQL 核心配置参数档案。
---

条目 URL 保持扁平；本分类仅用于侧栏与浏览组织。

---

本节页面：

- [autovacuum](/zh/parameters/autovacuum/): Autovacuum 通过后台调度 VACUUM 与 ANALYZE 维持 MVCC 表的可用状态。它既是性能机制，也是防止事务号回卷的安全网，并非可有可无的清洁任务。
- [autovacuum_analyze_scale_factor](/zh/parameters/autovacuum-analyze-scale-factor/): autovacuum_analyze_scale_factor：以 reltuples 的比例设置触发 ANALYZE 前的元组插入、更新或删除数量。实测在档范围为 PG9.0–19 Beta 3；最后在档的 PG19 Beta 3 启动默认值为 0.1，context 为 sighup。这是测试版快照事实，PostgreSQL 19 正式发布前仍可能变化。
- [autovacuum_analyze_score_weight](/zh/parameters/autovacuum-analyze-score-weight/): autovacuum_analyze_score_weight：设置 autovacuum 优先级中 ANALYZE 得分的缩放系数。实测在档范围为 PG19 Beta 3；最后在档的 PG19 Beta 3 启动默认值为 1，context 为 sighup。这是测试版快照事实，PostgreSQL 19 正式发布前仍可能变化。
- [autovacuum_analyze_threshold](/zh/parameters/autovacuum-analyze-threshold/): autovacuum_analyze_threshold：设置触发 ANALYZE 前元组插入、更新或删除数量的最低阈值。实测在档范围为 PG9.0–19 Beta 3；最后在档的 PG19 Beta 3 启动默认值为 50，context 为 sighup。这是测试版快照事实，PostgreSQL 19 正式发布前仍可能变化。
- [autovacuum_freeze_max_age](/zh/parameters/autovacuum-freeze-max-age/): autovacuum_freeze_max_age：设置为防止事务 ID 回卷而强制自动清理表的年龄。实测在档范围为 PG9.0–19 Beta 3；最后在档的 PG19 Beta 3 启动默认值为 200000000，context 为 postmaster。这是测试版快照事实，PostgreSQL 19 正式发布前仍可能变化。
- [autovacuum_freeze_score_weight](/zh/parameters/autovacuum-freeze-score-weight/): autovacuum_freeze_score_weight：设置 autovacuum 优先级中事务 ID 冻结得分的缩放系数。实测在档范围为 PG19 Beta 3；最后在档的 PG19 Beta 3 启动默认值为 1，context 为 sighup。这是测试版快照事实，PostgreSQL 19 正式发布前仍可能变化。
- [autovacuum_max_parallel_workers](/zh/parameters/autovacuum-max-parallel-workers/): autovacuum_max_parallel_workers：设置单个 autovacuum worker 可使用的最大并行 worker 数。实测在档范围为 PG19 Beta 3；最后在档的 PG19 Beta 3 启动默认值为 0，context 为 sighup。这是测试版快照事实，PostgreSQL 19 正式发布前仍可能变化。
- [autovacuum_max_workers](/zh/parameters/autovacuum-max-workers/): 设置集群内可同时运行的 autovacuum worker 上限，不包含 launcher。增加 worker 能提高调度容量，但也会提高并发维护的资源需求。
- [autovacuum_multixact_freeze_max_age](/zh/parameters/autovacuum-multixact-freeze-max-age/): autovacuum_multixact_freeze_max_age：设置为防止 MultiXact 回卷而强制自动清理表的 MultiXact 年龄。实测在档范围为 PG9.3–19 Beta 3；最后在档的 PG19 Beta 3 启动默认值为 400000000，context 为 postmaster。这是测试版快照事实，PostgreSQL 19 正式发布前仍可能变化。
- [autovacuum_multixact_freeze_score_weight](/zh/parameters/autovacuum-multixact-freeze-score-weight/): autovacuum_multixact_freeze_score_weight：设置 autovacuum 优先级中 MultiXact 冻结得分的缩放系数。实测在档范围为 PG19 Beta 3；最后在档的 PG19 Beta 3 启动默认值为 1，context 为 sighup。这是测试版快照事实，PostgreSQL 19 正式发布前仍可能变化。
- [autovacuum_naptime](/zh/parameters/autovacuum-naptime/): autovacuum_naptime：设置两轮 autovacuum 扫描之间的休眠时间。实测在档范围为 PG9.0–19 Beta 3；最后在档的 PG19 Beta 3 启动默认值为 1 min，context 为 sighup。这是测试版快照事实，PostgreSQL 19 正式发布前仍可能变化。
- [autovacuum_vacuum_cost_delay](/zh/parameters/autovacuum-vacuum-cost-delay/): autovacuum_vacuum_cost_delay：设置 autovacuum 的清理成本延迟（毫秒）。实测在档范围为 PG9.0–19 Beta 3；最后在档的 PG19 Beta 3 启动默认值为 2 ms，context 为 sighup。这是测试版快照事实，PostgreSQL 19 正式发布前仍可能变化。
- [autovacuum_vacuum_cost_limit](/zh/parameters/autovacuum-vacuum-cost-limit/): autovacuum_vacuum_cost_limit：设置 autovacuum 休眠前可用的清理成本额度。实测在档范围为 PG9.0–19 Beta 3；最后在档的 PG19 Beta 3 启动默认值为 -1，context 为 sighup。这是测试版快照事实，PostgreSQL 19 正式发布前仍可能变化。
- [autovacuum_vacuum_insert_scale_factor](/zh/parameters/autovacuum-vacuum-insert-scale-factor/): autovacuum_vacuum_insert_scale_factor：以 reltuples 的比例设置触发 VACUUM 前的插入元组数量。它是 PG13–18 的 sighup 参数；最新实测启动默认值为 0.2。
- [autovacuum_vacuum_insert_score_weight](/zh/parameters/autovacuum-vacuum-insert-score-weight/): autovacuum_vacuum_insert_score_weight：设置 autovacuum 优先级中仅插入清理得分的缩放系数。实测在档范围为 PG19 Beta 3；最后在档的 PG19 Beta 3 启动默认值为 1，context 为 sighup。这是测试版快照事实，PostgreSQL 19 正式发布前仍可能变化。
- [autovacuum_vacuum_insert_threshold](/zh/parameters/autovacuum-vacuum-insert-threshold/): autovacuum_vacuum_insert_threshold：设置触发 VACUUM 前插入元组数量的最低阈值。它是 PG13–18 的 sighup 参数；最新实测启动默认值为 1000。
- [autovacuum_vacuum_max_threshold](/zh/parameters/autovacuum-vacuum-max-threshold/): autovacuum_vacuum_max_threshold：设置触发 VACUUM 前更新或删除元组数量的最高阈值。实测在档范围为 PG18–19 Beta 3；最后在档的 PG19 Beta 3 启动默认值为 100000000，context 为 sighup。这是测试版快照事实，PostgreSQL 19 正式发布前仍可能变化。
- [autovacuum_vacuum_scale_factor](/zh/parameters/autovacuum-vacuum-scale-factor/): 控制普通 autovacuum VACUUM 触发条件中与表大小成比例的部分。数值越低，大表在更小比例的行变成旧版本后就会进入清理候选。
- [autovacuum_vacuum_score_weight](/zh/parameters/autovacuum-vacuum-score-weight/): autovacuum_vacuum_score_weight：设置 autovacuum 优先级中普通 VACUUM 得分的缩放系数。实测在档范围为 PG19 Beta 3；最后在档的 PG19 Beta 3 启动默认值为 1，context 为 sighup。这是测试版快照事实，PostgreSQL 19 正式发布前仍可能变化。
- [autovacuum_vacuum_threshold](/zh/parameters/autovacuum-vacuum-threshold/): autovacuum_vacuum_threshold：设置触发 VACUUM 前更新或删除元组数量的最低阈值。实测在档范围为 PG9.0–19 Beta 3；最后在档的 PG19 Beta 3 启动默认值为 50，context 为 sighup。这是测试版快照事实，PostgreSQL 19 正式发布前仍可能变化。
- [autovacuum_worker_slots](/zh/parameters/autovacuum-worker-slots/): autovacuum_worker_slots：设置为 autovacuum worker 分配的后端槽位数量。实测在档范围为 PG18–19 Beta 3；最后在档的 PG19 Beta 3 启动默认值为 16，context 为 postmaster。这是测试版快照事实，PostgreSQL 19 正式发布前仍可能变化。
- [vacuum_cost_delay](/zh/parameters/vacuum-cost-delay/): vacuum_cost_delay：设置清理成本延迟（毫秒）。实测在档范围为 PG9.0–19 Beta 3；最后在档的 PG19 Beta 3 启动默认值为 0 ms，context 为 user。这是测试版快照事实，PostgreSQL 19 正式发布前仍可能变化。
- [vacuum_cost_limit](/zh/parameters/vacuum-cost-limit/): vacuum_cost_limit：设置清理进程休眠前可用的成本额度。实测在档范围为 PG9.0–19 Beta 3；最后在档的 PG19 Beta 3 启动默认值为 200，context 为 user。这是测试版快照事实，PostgreSQL 19 正式发布前仍可能变化。
- [vacuum_cost_page_dirty](/zh/parameters/vacuum-cost-page-dirty/): vacuum_cost_page_dirty：设置 VACUUM 弄脏一个页面的成本。实测在档范围为 PG9.0–19 Beta 3；最后在档的 PG19 Beta 3 启动默认值为 20，context 为 user。这是测试版快照事实，PostgreSQL 19 正式发布前仍可能变化。
- [vacuum_cost_page_hit](/zh/parameters/vacuum-cost-page-hit/): vacuum_cost_page_hit：设置 VACUUM 访问缓冲区缓存命中页面的成本。实测在档范围为 PG9.0–19 Beta 3；最后在档的 PG19 Beta 3 启动默认值为 1，context 为 user。这是测试版快照事实，PostgreSQL 19 正式发布前仍可能变化。
- [vacuum_cost_page_miss](/zh/parameters/vacuum-cost-page-miss/): vacuum_cost_page_miss：设置 VACUUM 访问缓冲区缓存未命中页面的成本。实测在档范围为 PG9.0–19 Beta 3；最后在档的 PG19 Beta 3 启动默认值为 2，context 为 user。这是测试版快照事实，PostgreSQL 19 正式发布前仍可能变化。
- [vacuum_failsafe_age](/zh/parameters/vacuum-failsafe-age/): vacuum_failsafe_age：设置 VACUUM 为避免事务 ID 回卷停机而进入保护模式的年龄。它是 PG14–18 的 user 参数；最新实测启动默认值为 1600000000。
- [vacuum_freeze_min_age](/zh/parameters/vacuum-freeze-min-age/): vacuum_freeze_min_age：设置 VACUUM 冻结表行所需的最小年龄。实测在档范围为 PG9.0–19 Beta 3；最后在档的 PG19 Beta 3 启动默认值为 50000000，context 为 user。这是测试版快照事实，PostgreSQL 19 正式发布前仍可能变化。
- [vacuum_freeze_table_age](/zh/parameters/vacuum-freeze-table-age/): vacuum_freeze_table_age：设置 VACUUM 为冻结元组而扫描整张表的年龄。实测在档范围为 PG9.0–19 Beta 3；最后在档的 PG19 Beta 3 启动默认值为 150000000，context 为 user。这是测试版快照事实，PostgreSQL 19 正式发布前仍可能变化。
- [vacuum_max_eager_freeze_failure_rate](/zh/parameters/vacuum-max-eager-freeze-failure-rate/): vacuum_max_eager_freeze_failure_rate：设置 VACUUM 在关闭积极冻结扫描前，允许扫描但未能冻结的页面比例。实测在档范围为 PG18–19 Beta 3；最后在档的 PG19 Beta 3 启动默认值为 0.03，context 为 user。这是测试版快照事实，PostgreSQL 19 正式发布前仍可能变化。
- [vacuum_multixact_failsafe_age](/zh/parameters/vacuum-multixact-failsafe-age/): vacuum_multixact_failsafe_age：设置 VACUUM 为避免 MultiXact 回卷停机而进入保护模式的年龄。它是 PG14–18 的 user 参数；最新实测启动默认值为 1600000000。
- [vacuum_multixact_freeze_min_age](/zh/parameters/vacuum-multixact-freeze-min-age/): vacuum_multixact_freeze_min_age：设置 VACUUM 冻结表行中 MultiXactId 所需的最小年龄。实测在档范围为 PG9.3–19 Beta 3；最后在档的 PG19 Beta 3 启动默认值为 5000000，context 为 user。这是测试版快照事实，PostgreSQL 19 正式发布前仍可能变化。
- [vacuum_multixact_freeze_table_age](/zh/parameters/vacuum-multixact-freeze-table-age/): vacuum_multixact_freeze_table_age：设置 VACUUM 为冻结 MultiXact 而扫描整张表的年龄。实测在档范围为 PG9.3–19 Beta 3；最后在档的 PG19 Beta 3 启动默认值为 150000000，context 为 user。这是测试版快照事实，PostgreSQL 19 正式发布前仍可能变化。
- [vacuum_truncate](/zh/parameters/vacuum-truncate/): vacuum_truncate：允许 VACUUM 截断表尾的空页面。实测在档范围为 PG18–19 Beta 3；最后在档的 PG19 Beta 3 启动默认值为 on，context 为 user。这是测试版快照事实，PostgreSQL 19 正式发布前仍可能变化。
