autovacuum_vacuum_threshold
| 버전 | 기본값 | context | 타입 |
|---|---|---|---|
| 14 | 50 tuples | sighup | integer |
| 15 | 50 tuples | sighup | integer |
| 16 | 50 tuples | sighup | integer |
| 17 | 50 tuples | sighup | integer |
| 18 | 50 tuples | sighup | integer |
| 19 | 50 tuples | sighup | integer |
한 테이블에서 autovacuum이 VACUUM을 일으키는 데 필요한 최소 갱신·삭제 tuple 수를 정한다. 기본값은 50이다.
실제 판정식은 autovacuum_vacuum_threshold + autovacuum_vacuum_scale_factor × 테이블 행 수로, 이 파라미터는 식의 고정분을 담당한다. 비율 항만 있으면 행이 몇 개 없는 작은 테이블에서 tuple 몇 건만 바뀌어도 vacuum이 도는데, 이 고정 하한이 그런 과도한 실행을 걸러 준다. 반대로 큰 테이블에서는 scale factor 항이 지배적이어서 이 값의 영향은 거의 없고, PostgreSQL 18부터는 계산 결과가 autovacuum_vacuum_max_threshold(기본 1억)를 넘지 않도록 상한도 적용된다. postgresql.conf나 서버 커맨드라인에서 설정하며, 개별 테이블의 storage parameter로 덮어쓸 수 있다.
analyze 쪽 대응 파라미터는 autovacuum_analyze_threshold다. vacuum 판정은 갱신·삭제만 세지만 analyze 판정은 삽입도 함께 센다는 점이 다르다. 삽입 위주 테이블의 vacuum은 별도 경로인 autovacuum_vacuum_insert_threshold가 담당한다.
출처: PostgreSQL 18 문서