MVCC (التحكم في التزامن متعدد الإصدارات) هو الآلية التي تستخدمها 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.
