autovacuum_multixact_freeze_score_weight
| 버전 | 기본값 | context | 타입 |
|---|---|---|---|
| 19 | 1 | sighup | string |
autovacuum 우선순위 score에서 multixact ID age 구성 요소의 비중을 정한다. PostgreSQL 19(beta)에서 추가된 파라미터로, 기본값은 1.0이다.
PostgreSQL 19(beta)는 autovacuum이 처리할 테이블을 고르는 방식을 score 기반 우선순위 체계로 바꿨다. threshold를 넘은 테이블을 발견한 순서대로 처리하는 대신, 테이블마다 여러 구성 요소를 합산한 score를 계산해 급한 테이블부터 vacuum·analyze한다. autovacuum_vacuum_score_weight, autovacuum_vacuum_insert_score_weight, autovacuum_analyze_score_weight, autovacuum_freeze_score_weight, autovacuum_multixact_freeze_score_weight가 각 구성 요소의 비중을 담당하며, 기본값은 모두 1.0으로 어느 한쪽도 특별히 우대하지 않는다.
이 파라미터는 그중 multixact ID age 구성 요소, 즉 테이블의 multixact ID 나이가 오래돼 freeze가 시급해진 정도가 score에 반영되는 비중을 조절한다. multixact는 row 하나를 여러 transaction이 동시에 잠글 때 쓰이므로, SELECT ... FOR SHARE나 foreign key 잠금이 많은 워크로드에서 나이가 빨리 든다. transaction ID 나이에 대해서는 autovacuum_freeze_score_weight가 같은 역할을 한다. postgresql.conf 파일이나 서버 command line에서만 설정할 수 있다.
pg_stat_autovacuum_scores view로 확인할 수 있다.출처: PostgreSQL 19 문서