본문 바로가기
Database#Database#PostgreSQL조회 2

VACUUM란?

정의

PostgreSQL에서 MVCC로 쌓인 오래된 행(dead tuple)을 정리하는 필수 유지보수 작업. autovacuum이 자동 실행.

다른 표현Vacuumautovacuum

VACUUM이란?

Postgres는 UPDATE/DELETE를 새 버전 추가 + 옛 버전 유지로 처리한다. VACUUM이 주기적으로 옛 버전을 재활용·반환한다.

종류

  • VACUUM — 공간 재활용, 락 적음
  • VACUUM FULL — 테이블 재작성, ACCESS EXCLUSIVE 락 (운영 중 금지)
  • ANALYZE — 통계 갱신 (플래너용)
  • autovacuum — 자동 실행, 기본값으로 대부분 해결

문제 상황

  • Long running transaction이 autovacuum 방해
  • 대량 UPDATE 후 bloat 누적
  • TOAST 테이블 bloat 별도 관리 필요

모니터링

pg_stat_user_tables의 n_dead_tup, last_autovacuum 확인.

📘 관련 기술노트

전체 보기 →

🔗 함께 보면 좋은 용어

Database 전체 →