본문으로 건너뛰기
autovacuum_vacuum_insert_threshold

autovacuum_vacuum_insert_threshold

버전기본값context타입
141000 tuplessighupinteger
151000 tuplessighupinteger
161000 tuplessighupinteger
171000 tuplessighupinteger
181000 tuplessighupinteger
191000 tuplessighupinteger

한 테이블에서 삽입된 tuple 수 기준으로 autovacuum이 VACUUM을 일으키는 데 필요한 최소치를 정한다. 기본값은 1000이며, -1로 설정하면 삽입 수 기반 vacuum 자체가 비활성화된다.

PostgreSQL 13에서 도입된 판정 경로로, dead tuple 기반 판정식(autovacuum_vacuum_threshold + autovacuum_vacuum_scale_factor)과는 별개로 동작한다. 삽입만 일어나는 테이블은 dead tuple이 없어 기존 판정으로는 vacuum 대상이 되지 않지만, visibility map 갱신과 freeze를 위해서는 vacuum이 여전히 필요하다. 그래서 마지막 vacuum 이후 삽입된 tuple 수가 autovacuum_vacuum_insert_threshold + autovacuum_vacuum_insert_scale_factor × 기준 크기를 넘으면 vacuum이 실행된다. 이 파라미터는 그 판정식의 고정분이다. postgresql.conf나 서버 커맨드라인에서 설정하며, 개별 테이블의 storage parameter로 덮어쓸 수 있다.

운영 노트: -1로 꺼 두면 append-only 테이블의 freeze가 autovacuum_freeze_max_age 도달 시점까지 미뤄져 결국 대규모 anti-wraparound vacuum으로 되돌아온다. 특별한 이유가 없다면 켠 채로 두고, vacuum 빈도가 부담이면 threshold나 scale factor를 테이블 단위로 조정하는 편이 낫다.

출처: PostgreSQL 18 문서