log_autoanalyze_min_duration
| 버전 | 기본값 | context | 타입 |
|---|---|---|---|
| 19 | 10min | sighup | integer |
autovacuum이 수행한 analyze가 지정한 시간 이상 걸리면 로그로 남긴다. PostgreSQL 19(beta)에서 추가된 파라미터로, 기본값은 10분이다.
기존에는 log_autovacuum_min_duration 하나가 autovacuum의 vacuum과 analyze 로그를 함께 제어했지만, PostgreSQL 19부터 analyze 쪽이 이 파라미터로 분리됐다. 0으로 설정하면 autovacuum의 모든 analyze를 기록하고, -1이면 기록하지 않는다. 단위 없이 값을 주면 밀리초로 해석하며, 예를 들어 250ms로 설정하면 250ms 이상 걸린 automatic analyze가 모두 기록된다. -1이 아닌 값으로 설정하면 lock 충돌이나 동시에 drop된 relation 때문에 analyze가 건너뛰어진 경우에도 메시지를 남긴다.
postgresql.conf 파일이나 서버 command line에서만 설정할 수 있고, 테이블 storage parameter로 테이블별 override가 가능하다.
운영 노트: 통계 갱신이 밀려 plan이 흔들리는 의심이 있을 때 값을 낮춰 autovacuum의 analyze 활동을 추적하면 유용하다. vacuum 쪽 로그는 그대로
log_autovacuum_min_duration으로 제어한다.출처: PostgreSQL 19 문서