[ VACUUM? ]
- PostgreSQL에서 MVCC 지원을 위해 사용된 레코드(row) 및 XID를 관리하고 디스크 공간을 확보하며, 통계 정보를 갱산하는 작업
[ VACUUM의 필요성 ]
- Dead Tuple 정리로 쿼리 성능 향상과 FSM(FreeSpaceMap) 확보 및 VM(Visivility Map) 갱신
- XID Wraparound로 인한 데이터 손실 방지
- Database의 통계정보 수집 및 갱신
- Query Planner에 필요한 통계정보 갱신
[ VACUUM FULL ]
- 물리 디스크 공간 확보
- Access Exclusive Lock을 흭득하여 Select도 대기 상태로 됨
[ AUTO VACUUM ]
- Dead Tuple 누적치가 임계에 도달했을 때 자동으로 Vacuum을 수행하여 FSM 반환 및 XID Wraparound 방지
[ VACUUM FREEZE ]
- Current XID와 OLD XID를 비교하여 1이라도 차이가 있으면 Old XID를 반환 시키는 명시적 명령어
[ VACUUM 동작 원리 ]
[ VACUUM FULL 동작 원리 ]
반응형
'IT > PostgreSQL' 카테고리의 다른 글
[ PostgreSQL ] PostgreSQL 설치 (0) | 2025.02.28 |
---|---|
[PostgreSQL] MVCC란? (0) | 2025.02.28 |
[PostgreSQL] PostgreSQL이란? (0) | 2025.02.21 |