vacuum_max_eager_freeze_failure_rate
提前冻结失败比例上限
为当前关系覆盖 VACUUM 提前冻结扫描的失败比例上限。
当前查看 PostgreSQL 18.6。
说明
vacuum_max_eager_freeze_failure_rate 参数的每表取值。
- 适用对象
- 表与物化视图
- 取值类型
- 浮点数
用法
WITH (vacuum_max_eager_freeze_failure_rate = value)适用范围
这是关系级设置,作用于当前表或物化视图。它不等同于会话级或实例级 GUC;同名的全局参数另有独立入口。
表存储参数的共同规则
WITH 子句可以为表以及与 UNIQUE、 PRIMARY KEY 或 EXCLUDE 约束关联的索引指定 存储参数。索引的存储参数已在 CREATE INDEX 中介绍。当前可用于表的存储参数列在下文。对于其中许多参数,如下所示,还存在一个同名且带 toast. 前缀的附加参数,用于控制该表的二级 TOAST 表(如果有)的行为(更多有关 TOAST 的信息见 第 66.2 节)。如果设置了表参数值,而对应的 toast. 参数未设置,则 TOAST 表将使用该表的参数值。不支持为分区表指定这些参数,但可以为单独的叶子分区指定。
物化视图
该子句为新物化视图指定可选的存储参数;更多信息见 CREATE TABLE 文档中的 Storage Parameters。凡是 CREATE TABLE 支持的参数, CREATE MATERIALIZED VIEW 也同样支持。另见 CREATE TABLE。
对应全局参数:vacuum_max_eager_freeze_failure_rate
以下为该版本全局参数的说明,用于理解作用与单位。文中全局默认值、可设置位置和生效方式属于 GUC;关系选项的覆盖规则仍以上面的关系级说明为准。
指定 VACUUM 在急切扫描模式下可以扫描但 未能 在可见性映射中设置为 all-frozen 的页面数量占整个关系总页面数的比例,超过该比例后就会禁用急切扫描。值 0 表示完全禁用急切扫描。默认值为 0.03 (3%)。
请注意,当急切扫描启用时,只有冻结失败才会计入上限,成功的冻结不会计入。成功冻结的页面在内部会被限制为关系中所有 all-visible 但未 all-frozen 页面数的 20%。对成功冻结页面设置上限有助于将成本分摊到多次常规清理中,并限制在下次激进清理之前页面再次被修改时急切冻结可能带来的浪费。
这个参数只能在 postgresql.conf 文件中或服务器命令行上设置;但也可以通过修改 对应的表存储参数 为单个表覆盖该设置。关于调整清理冻结行为的更多信息,见 第 24.1.5 节。
相关条目
文档与源码
查看来源构建
- 版本
- 18.6
- 构建
- 本地中文手册 18.6
- 来源指纹
2892290581c230fa73001957e37b5061767c1449e17d120024cc081bfc36a941
同类条目
autovacuum_analyze_scale_factor自动分析比例因子autovacuum_analyze_threshold自动分析基础阈值autovacuum_enabled启用自动清理autovacuum_freeze_max_age事务 ID 强制冻结年龄autovacuum_freeze_min_age事务 ID 最小冻结年龄autovacuum_freeze_table_age事务 ID 全表冻结年龄autovacuum_multixact_freeze_max_age多事务 ID 强制冻结年龄autovacuum_multixact_freeze_min_age多事务 ID 最小冻结年龄autovacuum_multixact_freeze_table_age多事务 ID 全表冻结年龄autovacuum_vacuum_cost_delay自动清理代价延迟autovacuum_vacuum_cost_limit自动清理代价上限autovacuum_vacuum_insert_scale_factor插入触发清理比例因子
返回存储参数 · 此条目的收录范围为 PostgreSQL 18 至 20;起点不一定是实际引入版本。