autovacuum_analyze_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이 ANALYZE를 일으키는 데 필요한 최소 tuple 변경(삽입·갱신·삭제) 수를 정한다. 기본값은 50이다.
실제 판정식은 autovacuum_analyze_threshold + autovacuum_analyze_scale_factor × 테이블 행 수로, 이 파라미터는 식의 고정분을 담당한다. 비율 기반인 scale factor만 있으면 행이 몇 개 없는 작은 테이블에서 tuple 몇 건만 바뀌어도 analyze가 도는데, 이 고정 하한이 그런 과도한 실행을 막아준다. 반대로 큰 테이블에서는 scale factor 항이 지배하므로 이 값의 영향은 미미하다. postgresql.conf나 서버 커맨드라인에서 설정하며, 개별 테이블의 storage parameter로 덮어쓸 수 있다.
autovacuum_vacuum_threshold와 구조가 같지만, vacuum 쪽은 갱신·삭제만 세는 반면 analyze 쪽은 삽입도 함께 센다. 삽입만 일어나는 테이블도 데이터 분포가 계속 바뀌어 통계 갱신이 필요하기 때문이다.
출처: PostgreSQL 18 문서