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

BEGIN कथनों के लिए लेन-देन में निष्क्रियता का क्या कारण हो सकता है

लेनदेन बिल्कुल भी अवरुद्ध नहीं हो रहे हैं। डेटाबेस अगले स्टेटमेंट को भेजने के लिए एप्लिकेशन की प्रतीक्षा कर रहा है।

लेन-देन आईडी पर लॉक लेन-देन के लिए एक-दूसरे को ब्लॉक करने की एक तकनीक है, भले ही वे टेबल लॉक के लिए संघर्ष नहीं कर रहे हों (उदाहरण के लिए, यदि वे एक पंक्ति लॉक की प्रतीक्षा कर रहे हैं):प्रत्येक लेनदेन में अपने आप में एक विशेष लॉक होता है। लेन-देन आईडी, और अगर उसे समवर्ती लेनदेन के पूरा होने की प्रतीक्षा करनी है, तो वह उस लेनदेन की आईडी पर ताला लगाने का अनुरोध कर सकता है (और अवरुद्ध हो सकता है)।

यदि सभी लेन-देन इस तरह दिखते हैं, तो लॉक आपके आवेदन में कहीं न कहीं होना चाहिए; डेटाबेस शामिल नहीं है।

डेटाबेस में अवरुद्ध प्रक्रियाओं की तलाश करते समय, pg_locks . में पंक्तियों को देखें जहां granted झूठा है।



  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. PostGIS का उपयोग करके बहुभुज डेटा को लाइन सेगमेंट में कैसे बदलें

  3. रेल पर रूबी/पीजीएसक्यूएल त्रुटि प्रारंभ:ऐसी फ़ाइल लोड नहीं कर सकता - pg_ext (LoadError)

  4. रेल में एकाधिक मैचों के साथ PostgreSQL समान है ActiveRecord

  5. ClusterControl - उन्नत बैकअप प्रबंधन - PostgreSQL