संक्षिप्त संस्करण:"यह निर्भर करता है"।
लंबा संस्करण:
यदि आप एक पठन-संशोधित-लेखन चक्र कर रहे हैं, तो यह न केवल लेन-देन में होना चाहिए, बल्कि आपको SELECT ... FOR UPDATE
होना चाहिए कोई भी रिकॉर्ड जिसे आप बाद में संशोधित करना चाहते हैं। अन्यथा आप खोए हुए लेखन का जोखिम उठाने जा रहे हैं, जहां आप किसी अन्य व्यक्ति द्वारा किए गए अपडेट को ओवरराइट करते हैं जब आप रिकॉर्ड पढ़ते हैं और जब आप अपडेट लिखते हैं।
SERIALIZABLE
लेन-देन अलगाव भी इसमें मदद कर सकता है।
आपको वास्तव में समवर्ती और अलगाव को समझने की जरूरत है। दुर्भाग्य से एकमात्र सरल, आसान "बस करें एक्स" उत्तर को समझे बिना यह है कि इसमें शामिल सभी तालिकाओं को लॉक करके प्रत्येक लेनदेन शुरू करना है। अधिकांश लोग ऐसा नहीं करना चाहते।
मैं tx आइसोलेशन डॉक्स
. समवर्ती psql
के साथ प्रयोग करें दौड़ की स्थिति और संघर्ष पैदा करने के लिए सत्र (एकाधिक टर्मिनल)।