MVCC (Multi-Version Concurrency Control) to sposób, w jaki PostgreSQL obsługuje równoległy dostęp — zamiast blokować wiersze do odczytów, przechowuje wiele wersji wierszy, dzięki czemu każda transakcja widzi spójną migawkę danych. Główna korzyść: czytelnicy nie blokują autorów, a autorzy nie blokują czytelników, umożliwiając wysoką współbieżność.
Główna idea: wiele wersji wierszy
When a row is UPDATED, Postgres doesn't overwrite it — it creates a NEW version and
marks the old one obsolete. Different transactions can see different versions.
→ Each transaction sees a consistent SNAPSHOT of the database as of its start
(depending on isolation level), unaffected by others' uncommitted changes.
