आप इसे LOCK
. लेकर होमब्रे कर सकते हैं एक टेबल पर, अपने लेन-देन को सेट करना, फिर लॉक प्राप्त करने वाले लेनदेन को वापस रोल करके लॉक जारी करना। देखें यह पूर्व उत्तर
और इस दृष्टिकोण के विवरण के लिए इसके लिंक। जबकि मैंने इसे तीन psql
. का उपयोग करके प्रदर्शित किया था सत्र इसे बैश सह-प्रक्रियाओं के साथ करने के लिए समान रूप से व्यवहार्य है, एक पायथन लिपि psycopg2
का उपयोग कर और multiprocessing
या threading
मॉड्यूल, आदि करना काफी आसान है। अपडेट करें :वास्तव में यहां एक उदाहरण दिया गया है जिसे मैंने अभी-अभी python3 में लिखा हैए> ।
अधिक परिष्कृत परीक्षणों के लिए, PostgreSQL स्रोत कोड को पकड़ें और src/test/isolation
में "isolationtester" टूल का उपयोग करें। जो आपको ऐसी रेसिपी लिखने की सुविधा देता है जो कमांड के जटिल ऑर्डरिंग करती हैं। यह PGXS
. के साथ निर्मित होने का समर्थन नहीं करता है (हालांकि इस तरह का समर्थन शायद जोड़ने के लिए बहुत छोटा होगा) इसलिए आपको पूरे पोस्टग्रेएसक्यूएल स्रोत पेड़ को संकलित करना होगा, लेकिन यह काफी तेज़ है। यह आपके मौजूदा PostgreSQL के विरुद्ध चलेगा, इसलिए आपके द्वारा संकलित किए गए को इंस्टॉल करने की कोई आवश्यकता नहीं है।
देखें src/test/isolation/README
कोड>
आइसोलेशन टेस्टर टूल के बारे में अधिक जानकारी के लिए। डॉक्स जमीन पर थोड़े पतले हैं क्योंकि यह एक आंतरिक परीक्षण उपकरण है, लेकिन मौजूदा परीक्षण मामलों को आरंभ करने में आपकी मदद करनी चाहिए। अपनी आवश्यकताओं को पूरा करने और पैच सबमिट करने के लिए इसे बेझिझक सुधारें :)