xmin/xmax
এক্সমিন-এক্সম্যাক্স
Tuple header-এর জন্ম-মৃত্যু লেবেল — কোন transaction বানালো (xmin), কে মারলো (xmax); visibility এই দুটো থেকেই।
also: t-xmin, t-xmax
SELECT lp, t_xmin, t_xmax, t_ctid
FROM heap_page_items(get_raw_page('accounts', 0));
Visibility rule (সরলীকৃত): tuple দৃশ্যমান যদি — xmin committed এবং
snapshot-এর আগে; আর xmax unset/uncommitted/ভবিষ্যত।
- Insert: xmin=me; Delete: xmax=me; Update: old-এ xmax, new-এ xmin — দুই tuple
- Snapshot: cutoff XID + in-progress list — “আমার জন্য কোন version সত্য” এর ফর্মুলা
- Wraparound: xid 32-bit — freeze পুরনো xmin-কে infinity-র দিকে ঠেলে
pageinspect দিয়ে নিজের চোখে দেখুন — MVCC-র বইয়ের figure তখন জীবন্ত।