본문으로 건너뛰기
autovacuum_vacuum_score_weight

autovacuum_vacuum_score_weight

버전기본값context타입
191sighupstring

autovacuum 우선순위 score에서 vacuum threshold 구성 요소의 비중을 정한다. 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으로 어느 한쪽도 특별히 우대하지 않는다.

이 파라미터는 그중 vacuum threshold 구성 요소, 즉 UPDATE·DELETE로 dead row가 쌓여 vacuum이 필요해진 정도가 score에 반영되는 비중을 조절한다. 값을 키우면 dead row가 많이 쌓인 테이블이 다른 요인으로 대기 중인 테이블보다 먼저 처리된다. postgresql.conf 파일이나 서버 command line에서만 설정할 수 있다.

운영 노트: weight를 키우면 해당 요소가 급한 테이블이 autovacuum 대기열에서 앞당겨진다. 테이블별 score가 실제로 어떻게 계산되고 있는지는 PostgreSQL 19에서 함께 추가된 pg_stat_autovacuum_scores view로 확인할 수 있다.

출처: PostgreSQL 19 문서