Multi-Version Concurrency Control (MVCC)는 데이터베이스 관리 시스템 이 사용하고 있는 동시성 제어 기법 중 하나이다. MVCC 기법은 읽기 트랜잭션 과 쓰기 트랜잭션 사이에 충돌이 없기 때문에, 읽기 부하 워크로드와 쓰기 부하 워크로드를 동시에 수행하고자 하는 현대의 데이터베이스 관리 시스템에서 자주 사용되고 있다. 본 논문에서는 MVCC 기법을 사용하는 데이터베이스 관리 시스 템 중 하나인 PostgreSQL에 대해서 분석하며, 버전의 저장 위치나 버전의 구 성, 버전의 가시성 검사, 버전의 제거와 같은 MVCC와 관련된 부분이 PostgreSQL에 어떻게 적용되어 있는지를 중점으로 알아본다. 또한 PostgreSQL에서의 테이블 접근 방법들의 종류와 각각의 절차에 대해 설명하고, 실험을 통해 각 접근 방법이 우위를 보일수 있는 조건을 확인하여 쿼리 최적 화에 도움을 줄 수 있도록 한다.