{"Entry":{"collection":"guc","key":"autovacuum_multixact_freeze_score_weight","name":"autovacuum_multixact_freeze_score_weight","aliases":[],"metadata":{"baseline":false,"boot_human":"Not specified","boot_val":null,"category":"Vacuuming / Automatic Vacuuming","category_zh":"","changed_in":[],"changes":[{"documentation_changed":false,"fields":{},"from":"18","status":"added","to":"19"}],"content_hash":"325047bb11d877048346ff78af019e46c541784bb3b78756acd54e20becdf64a","context":"","default_changed_in":[],"default_history":[{"from":"19","to":"19","value":"1"}],"editorial":{"advice":{"olap":"Batch-heavy systems can benefit from prioritizing the largest maintenance debt or parallelizing index cleanup, but benchmark I/O saturation, maintenance memory, worker contention, and completion time across the whole maintenance window.","oltp":"Start at the upstream default and use pg_stat_autovacuum_scores, table churn, freeze age, queueing, and foreground latency to justify a change. Protect wraparound work and avoid letting a busy-table preference starve quieter tables.","small":"Keep weights and parallelism conservative. One extra worker can be a large share of CPU, RAM, and storage queue depth; first fix thresholds and ensure autovacuum has enough time to finish."},"mechanism":["PostgreSQL describes autovacuum_multixact_freeze_score_weight as follows: “Scaling factor of multixact freeze score for autovacuum prioritization.” A configuration reload applies the value to the server without a full restart. The atlas measures it in PG19 Beta 3; boot_val is the compiled or initialized baseline, not proof of a running cluster's effective setting.","PostgreSQL 19 scores every eligible table and sorts work by the maximum weighted component. This parameter multiplies the MultiXact freeze age component: values above 1 raise its scheduling influence, values between 0 and 1 reduce it, and setting every score weight to 0 restores the pre-19 catalog-order strategy. pg_stat_autovacuum_scores exposes the components for inspection.","Read it together with autovacuum_freeze_score_weight, autovacuum_vacuum_score_weight, autovacuum_vacuum_insert_score_weight, autovacuum_analyze_score_weight. Check SHOW and pg_settings on the target server, verify the source and pending_restart fields, and compare workload, logs, and resource metrics before and after any change."],"pitfalls":["Treating the measured boot_val for autovacuum_multixact_freeze_score_weight as proof of the effective value on an initialized or managed cluster.","Applying a change as though it were immediate while pg_settings reports sighup context.","Changing this setting in isolation without checking the linked limits, observability, and rollback path.","Depending on beta behavior in production without retesting the PostgreSQL 19 final release."],"references":[{"title":"PostgreSQL 19 Beta 4: autovacuum_multixact_freeze_score_weight","url":"https://www.postgresql.org/docs/19/runtime-config-vacuum.html#GUC-AUTOVACUUM-MULTIXACT-FREEZE-SCORE-WEIGHT"},{"title":"PostgreSQL 19 release notes","url":"https://www.postgresql.org/docs/19/release-19.html"}],"related":["autovacuum_freeze_score_weight","autovacuum_vacuum_score_weight","autovacuum_vacuum_insert_score_weight","autovacuum_analyze_score_weight","autovacuum_max_workers","autovacuum_naptime"],"summary":"autovacuum_multixact_freeze_score_weight — Scaling factor of multixact freeze score for autovacuum prioritization. Observed in PG19 Beta 4; its last measured boot default is 1 in PG19 Beta 4, with sighup context. This is a beta-snapshot fact and can change before PostgreSQL 19 GA."},"enumvals":[],"first_version":"19","group":"Vacuuming","group_slug":"vacuum","imported_at":"2026-09-27T17:57:30.809997+08:00","intro_commit":{"authored_at":"2026-03-27T10:17:05-05:00","discussion":["https://postgr.es/m/aOaAuXREwnPZVISO%40nathan"],"hash":"d7965d65fc5bb2139bc51c051c11428414c65160","subject":"Add rudimentary table prioritization to autovacuum.","url":"https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=d7965d65fc5bb2139bc51c051c11428414c65160"},"key":"autovacuum_multixact_freeze_score_weight","last_version":"20","max_val":"","min_val":"","name":"autovacuum_multixact_freeze_score_weight","position":25,"present_in":["19","20"],"short_desc":"Specifies the scaling factor of the multixact ID age component of the score used by autovacuum for prioritization purposes.","short_desc_zh":"","source_rev":"english-manuals:4c39aa0c1975cf7496ebb334b78db8aa75f1755230a0444c5556ea65740ff5e7","unit":"","vartype":"real"}},"Definition":{"Collection":"guc","Key":"autovacuum_multixact_freeze_score_weight","SourceDatabase":"center","Version":"20","SourceTable":"guc","SourceKey":"autovacuum_multixact_freeze_score_weight","SourceRevision":"english-manuals:4c39aa0c1975cf7496ebb334b78db8aa75f1755230a0444c5556ea65740ff5e7","Facts":{"boot_val":null,"category":"Automatic Vacuuming","context":"","description":"Specifies the scaling factor of the multixact ID age component of the score used by autovacuum for prioritization purposes. The default is 1.0. This parameter can only be set in the postgresql.conf file or on the server command line. See Section 24.1.6.1 for more information.","doc":{"anchor":"GUC-AUTOVACUUM-MULTIXACT-FREEZE-SCORE-WEIGHT","file":"runtime-config-vacuum.html","lang":"en","sha256":"30e406323d744a69a54900ecb606fcabcf5c63c344644b82f72a45f8e0d9265d","slug":"devel"},"documented":true,"enumvals":[],"extra_desc":"","lang":"en","max_val":null,"metadata_version":"","min_val":null,"name":"autovacuum_multixact_freeze_score_weight","short_desc":"","source":"english-manual","unit":"","vartype":"real"},"ManualEvidence":{"doc":{"anchor":"GUC-AUTOVACUUM-MULTIXACT-FREEZE-SCORE-WEIGHT","file":"runtime-config-vacuum.html","lang":"en","sha256":"30e406323d744a69a54900ecb606fcabcf5c63c344644b82f72a45f8e0d9265d","slug":"devel"}},"MeasuredEvidence":{"metadata_version":""}},"Text":{"Collection":"guc","Key":"autovacuum_multixact_freeze_score_weight","SourceDatabase":"pgweb","Version":"20","Locale":"zh-Hans","Title":"autovacuum_multixact_freeze_score_weight","Summary":"","BodyHTML":"\u003cp\u003e指定自动清理在确定优先级时所用评分中，多事务 ID 年龄分量的缩放因子。默认值为\u003ccode\u003e1.0\u003c/code\u003e。该参数只能在\u003ccode\u003epostgresql.conf\u003c/code\u003e文件中或服务器命令行上设置。更多信息见\u003ca href=\"/docs/devel/routine-vacuuming.html#AUTOVACUUM-PRIORITY\" rel=\"nofollow\"\u003e第 24.1.6.1 节\u003c/a\u003e。\u003c/p\u003e","SourceRevision":"2026-09-11@29c86d9","ContentHash":"8e0e1aa104a0f0d2b4bf989ddaffef61f3e2f88f71feb9d0d569274ce6930e09","Payload":{"carried_from":"19","carry_reason":"手册不含 pg_settings 事实，沿用 19","doc_html":"\u003cp\u003e指定自动清理在确定优先级时所用评分中，多事务 ID 年龄分量的缩放因子。默认值为\u003ccode class=\"literal\"\u003e1.0\u003c/code\u003e。该参数只能在\u003ccode class=\"filename\"\u003epostgresql.conf\u003c/code\u003e文件中或服务器命令行上设置。更多信息见\u003ca href=\"/docs/devel/routine-vacuuming.html#AUTOVACUUM-PRIORITY\" title=\"24.1.6.1. 自动清理优先级\"\u003e第 24.1.6.1 节\u003c/a\u003e。\u003c/p\u003e","doc_same_as":""}},"RequestedLocale":"zh-Hans","Fallback":false,"Versions":["19","20"],"Locales":["en","zh-Hans"],"Signatures":null,"Spellings":null,"SQLState":null,"Evidence":null}
