이는 PostgreSQL에서 구현되는 작업이다.

이 기법은 각각의 트랜잭션이 쿼리를 실행하는 시점 기준으로 자료를 스냅샷으로 처리해서, 그 세션이 사용하게끔 하는 기법이다. 이를 통해 각각의 트랜잭션은 각각의 버전으로 자료를 처리하게 된다.

예를 들어 PostgreSQL에서 트랜잭션이 발생하면 PostgreSQL은 지금 있는 로우와 똑같은 것을 복제하여 저장한다. 기존의 row는 아직 COMMIT되지 이전에 사용자들이 보는 용도로, 복제된 또다른 버전의 row는 트랜잭션 처리용으로 사용되어 진다.

이러한 개별 버전 처리를 트랜잭션 격리라고 한다.

이렇게 여러 버전으로 같은 자료가 변경 되는 경우, 자료 정합성을 구현하기 위해 자료 접근에 대한 잠금이 필요한데 MVCC 기법은 최소한의 잠금을 사용해서 다중 사용자 환경에서도 좋은 성능을 낼 수 있도록 한다.

즉 이 기법의 이점은 자료를 기록하는데 잠금을 하지 않기 때문에, 한 세션에서 자료를 기록하는 중에도 다른 세션에서 자료를 열람 할 수 있다는 점이다.

PostgreSQL에서는 이를 위해 테이블 단위 혹은 로우 단위 잠금 기능을 제공한다.