PostgreSQL 내부 구조 (4) — VACUUM, 옛 버전은 누가 치우는가
2편(MVCC) 에서 본 것처럼 PostgreSQL은 옛 버전을 안 지운다. 시간이 지나면 어떤 트랜잭션도 더 이상 보지 않는 dead tuple이 쌓인다. 이걸 누가, 언제, 어떻게 치우는지 알아보자.이 글에서 다루는 것:dead tuple, table bloat, VACUUM의 두 가지 역할 (페이지 회수 / freeze),Visibility Map (all-visible · all-frozen), autovacuum 트리거 조건과 튜닝, autovacuum cost 모델,트랜잭션 ID wraparound (freeze), anti-wraparound vacuum,VACUUM vs VACUUM FULL모니터링 (pg_stat_user_tables · datfrozenxid)Dead Tuple이 만드는..
2026. 4. 18.