vacuum_buffer_usage_limit
VACUUM과 ANALYZE가 사용하는 Buffer Access Strategy의 크기를 지정합니다. 기본값은 2MB이며, 단위 없이 값을 주면 킬로바이트로 해석합니다. 언제든 변경이 가능합니다.
Buffer Access Strategy는 vacuum이 shared buffers 전체를 휘젓지 않도록 제한된 크기의 buffer ring만 돌려쓰게 하는 장치입니다. 값을 0으로 주면 이 제한이 풀려 shared buffers를 제한 없이 쓸 수 있습니다. 유효 범위는 128kB부터 16GB까지이고, 지정한 크기가 shared_buffers의 1/8을 넘으면 조용히 그 값으로 잘립니다. VACUUM과 ANALYZE 명령에 BUFFER_USAGE_LIMIT 옵션을 주면 개별 실행에서 이 설정을 재정의합니다.
값을 키우면 vacuum과 analyze가 빨라질 수 있지만, 너무 크게 잡으면 다른 세션에 유용한 페이지들이 shared buffers에서 밀려납니다. 기본값 2MB는 vacuum이 캐시를 오염시키지 않는 쪽에 무게를 둔 설정입니다.
노트
운영 노트: 대형 테이블을 급히 vacuum해야 하는 상황(예: wraparound 임박)이라면 VACUUM (BUFFER_USAGE_LIMIT '1GB') ...처럼 일회성으로 키우는 방법이 있습니다. 전역값을 올리는 것보다 부작용 범위를 좁힐 수 있습니다.
출처: PostgreSQL 18 문서