DB/Postgresql

postgresql - vacuum

개발 일기92 2024. 4. 11. 19:45

vacuum의 주요 4가지 작업

  • 임계치 이상으로 발생한 Dead Tuple을 정리하여 FSM (Free Space Map) 으로 반환
  • Transaction ID Wraparound 방지
  • 통계정보 갱신
  • visibility map을 갱신하여 index scan 성능 향상

출처 : https://techblog.woowahan.com/9478/

 

[실무에서 사용했던 경험(과거 데이터 삭제)]

파티션 테이블의 경우 drop partition으로 원하는 데이터를 삭제하면 즉시 db용량이 확보되지만,

파티션 테이블이 아닌 경우는 delete로 데이터를 삭제해도 용량 확보가 바로 되지 않는다.

 

why?

delete를 하더라도 기존에 insert됐던 데이터 볼륨을 그대로 유지하게 된다.

이를 해결하기 위한 명령어가 vacuum이다.

ex) vacuum tablename;

 

 

'DB > Postgresql' 카테고리의 다른 글

Undo, Redo segment  (0) 2024.04.14
MVCC  (1) 2024.04.11
Window 함수  (0) 2024.04.09
SQL - Explain  (1) 2024.04.09
DB index  (0) 2024.04.08