PostgreSQL Vacuum and Cycle
** 아래 내용은 GPT4 기반으로 정리했습니다. ** VACUUM의 목적 저장 공간 회수: PostgreSQL은 MVCC (Multiversion Concurrency Control, 다중 버전 동시성 제어)라는 저장 시스템을 사용합니다. 이 시스템은 행이 업데이트되거나 삭제될 때마다 새로운 버전의 행을 생성합니다. 이로 인해 오래된 행 버전들이 시간이 지나며 쌓이게 됩니다. VACUUM은 이러한 오래되고 불필요한 행 버전을 정리하고 공간을 확보합니다. 트랜잭션 ID Wraparound 방지: PostgreSQL은 트랜잭션을 추적하기 위해 4바이트 트랜잭션 ID를 사용합니다. 이 ID는 크기에 제한이 있으며, 결국 wraparound될 수 있습니다. 이런 상황이 발생하면 데이터베이스는 더 이상 어떤 트랜잭션이 오래되었는지 새로운 것인지를 결정할 수 없게 됩니다. VACUUM은 오래된 트랜잭션 ID를 정리함으로써 이를 방지하는 데 도움이 됩니다. ...