---
title: "Discussion on \"MVCC Explained: Build Postgres-Style Snapshots in 100 Lines of TypeScript\n\" | Hashnode"
description: "Discussion on \"MVCC Explained: Build Postgres-Style Snapshots in 100 Lines of TypeScript\n\". MVCC Explained: Build Postgres Snapshots in TypeScript"
url: "https://hashnode.com/posts/mvcc-explained-build-postgres-style-snapshots-in-100-lines-of-typescript/6a8bf1f20127a09e517d0f94"
---

[Feed](https://hashnode.com/feed) /

Discussion

# [MVCC Explained: Build Postgres-Style Snapshots in 100 Lines of TypeScript](https://blog.jatin510.dev/mvcc-explained-build-postgres-style-snapshots-in-100-lines-of-typescript?utm_source=hashnode&utm_medium=feed)

MVCC Explained: Build Postgres Snapshots in TypeScript

Aug 24 · 18 min read · blog.jatin510.dev  
Read the article

-   [#postgresql](https://hashnode.com/tag/postgresql)
-   [#databases](https://hashnode.com/tag/databases)
-   [#typescript](https://hashnode.com/tag/typescript)
-   [#system-design](https://hashnode.com/tag/system-design)
-   [#system-architecture](https://hashnode.com/tag/system-architecture)
-   [#programming-blogs](https://hashnode.com/tag/programming-blogs)

## Written by

[Jagdish Parihar](https://hashnode.com/@Jatin510)

@Jatin510 · India

  
[View profile](https://hashnode.com/@Jatin510)

Software Developer

I am software developer, primarily working on the nodejs, graphql, react and mongoDB.

## Responses 1

Markdown supported · ⌘↵ to post

[Andrew](https://hashnode.com/@rizzdev)

[Aug 25](https://hashnode.com/posts/mvcc-explained-build-postgres-style-snapshots-in-100-lines-of-typescript/6a8bf1f20127a09e517d0f94/comment/6a8d1459b9707ea7b8e0678f)

Your insert always pushes a new version and never stamps xmax on the prior live version. A second insert of the same key therefore succeeds instead of waiting or raising a unique violation. A later delete then closes only one of those versions, and the other value remains live under the same key.
