MVCC (Multi-Version Concurrency Control) ਉਹ ਤਰੀਕਾ ਹੈ ਜਿਸ ਨਾਲ PostgreSQL ਸਮਕਾਲੀ ਪਹੁੰਚ ਨੂੰ ਸੰਭਾਲਦਾ ਹੈ — ਕਤਾਰਾਂ ਨੂੰ ਪੜ੍ਹਨ ਲਈ ਲਾਕ ਕਰਨ ਦੀ ਬਜਾਏ, ਇਹ ਕਤਾਰਾਂ ਦੇ ਬਹੁ-ਸੰਸਕਰਣ ਨੂੰ ਬਰਕਰਾਰ ਰੱਖਦਾ ਹੈ, ਇਸ ਲਈ ਹਰੇਕ ਲੇਣ-ਦੇਣ ਨੂੰ ਡੇਟਾ ਦਾ ਇੱਕ ਸਥਿਰ ਸਨੈਪਸ਼ਾਟ ਦਿਖਾਈ ਦਿੰਦਾ ਹੈ। ਮੁੱਖ ਲਾਭ: ਪਾਠਕ ਲੇਖਕਾਂ ਨੂੰ ਅਵਰੁੱਧ ਨਹੀਂ ਕਰਦੇ, ਅਤੇ ਲੇਖਕ ਪਾਠਕਾਂ ਨੂੰ ਅਵਰੁੱਧ ਨਹੀਂ ਕਰਦੇ, ਉੱਚ ਸਮਕਾਲੀਤਾ ਨੂੰ ਸਮਰੱਥ ਬਣਾਉਂਦੇ ਹਨ।
ਮੂਲ ਵਿਚਾਰ: ਬਹੁ-ਸੰਸਕਰਣ ਕਤਾਰਾਂ
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.
