PostgreSQL
 sql >> डेटाबेस >  >> RDS >> PostgreSQL

अपडेट लॉक और अनलॉक के लिए चयन कब करता है?

एक आदेश के निष्पादन के दौरान (आमतौर पर शुरुआत में या उसके निकट) ताले लिए जाते हैं। ताले (सलाहकार ताले को छोड़कर) केवल केवल जारी किए जाते हैं जब कोई लेन-देन करता है या वापस रोल करता है। कोई अनलॉक के लिए . नहीं है , न ही कोई अनलॉक है तालिका-स्तर LOCK . के प्रभावों को उलटने के लिए आदेश आज्ञा। यह सब PostgreSQL दस्तावेज़ीकरण के समवर्ती नियंत्रण अनुभाग में समझाया गया है।

लॉक जारी करने के लिए आपको अपना लेन-देन करना होगा या रोलबैक करना होगा।

इसके अतिरिक्त, यह पूछने का वास्तव में कोई मतलब नहीं है कि "क्या यह पंक्ति पहले से ही किसी अन्य समवर्ती लेनदेन द्वारा हटा दी गई है"। यह वास्तव में तब तक नहीं हटाया जाता है जब तक कि पंक्ति को हटाने वाला लेन-देन नहीं हो जाता है... और फिर भी, हो सकता है कि यह हटा दिया गया हो और पंक्ति को फिर से सम्मिलित किया गया हो या किसी अन्य समवर्ती लेनदेन ने पंक्ति को फिर से सम्मिलित किया हो।

क्या आप किसी भी मौके से कार्य कतार या संदेश कतार प्रणाली का निर्माण कर रहे हैं, क्योंकि यदि ऐसा है, तो वह समस्या हल हो गई है और आपको उस असामान्य रूप से जटिल पहिया को फिर से शुरू करने की कोशिश नहीं करनी चाहिए। PGQ, ActiveMQ, RabbitMQ, ZeroMQ, आदि देखें। क्योंकि इसका परीक्षण किया जा रहा है, लेकिन लेखन के समय इसे जारी नहीं किया गया है)।

मेरा सुझाव है कि आप उस अंतर्निहित समस्या के अधिक विस्तृत विवरण के साथ एक नया प्रश्न पोस्ट करें जिसे आप हल करने का प्रयास कर रहे हैं। आप मान रहे हैं कि आपकी समस्या का समाधान "पता लगाएं कि क्या पंक्ति पहले ही हटा दी गई है" या "पंक्ति को अनलॉक करें"। यह शायद वास्तव में समाधान नहीं है। यह कुछ ऐसा है जैसे कोई कहता है "मैं पेट्रोल कहां से खरीदूं" जब उनकी पुश-बाइक नहीं जाती है तो वे मानते हैं कि यह ईंधन से बाहर है। ईंधन समस्या नहीं है, समस्या यह है कि पुश बाइक ईंधन नहीं लेती हैं और आपको उन्हें पेडल करना पड़ता है।

पृष्ठभूमि स्पष्ट कीजिए। समझाएं कि आप क्या हासिल करने की कोशिश कर रहे हैं। इन सबसे ऊपर, स्यूडोकोड पोस्ट न करें, वह वास्तविक कोड पोस्ट करें जिसमें आपको समस्या हो रही है , अधिमानतः एक स्व-निहित और चलने योग्य रूप में।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. दूरस्थ होस्ट से पोस्टग्रेज़ से कनेक्ट नहीं हो सकता

  2. PostgreSQL - उस पंक्ति को प्राप्त करें जिसमें कॉलम के लिए अधिकतम मान है

  3. मैं कॉलम को दो टेबल से एक आउटपुट में कैसे मर्ज कर सकता हूं?

  4. PostgreSQL Upsert सिस्टम कॉलम XMIN, XMAX और अन्य का उपयोग करके सम्मिलित और अद्यतन पंक्तियों में अंतर करता है

  5. एलेम्बिक का उपयोग करके एक एनम फ़ील्ड को बदलना