मेरे पास एक बैच क्वेरी है जो मैं अपने डेटाबेस पर दैनिक चला रहा हूं। हालाँकि, यह बेकार की स्थिति में फंस गया है, और मुझे इस बात पर बहुत कठिनाई हो रही है कि क्या चल रहा है।
क्वेरी एक तालिका पर एक एकत्रीकरण है जो एक साथ सम्मिलित हो रही है, जिसे मैं अनुमान लगा रहा हूं कि किसी तरह मुद्दे से संबंधित है। (एकत्रीकरण पिछले दिनों के डेटा पर है, इसलिए सम्मिलन परिणामों को प्रभावित नहीं करना चाहिए।)
सुराग
मैं sqlalchemy का उपयोग करके एक अजगर स्क्रिप्ट के अंदर इसे चला रहा हूं। हालाँकि, मैंने ऑटोकॉमिट में लेन-देन का स्तर निर्धारित किया है, इसलिए मुझे नहीं लगता कि लेन-देन के अंदर चीजें लपेटी जा रही हैं। दूसरी ओर, जब मैं इसे sql टर्मिनल में मैन्युअल रूप से चलाता हूं तो मुझे क्वेरी हैंग नहीं होती है।
क्वेरी करने से
pg_stat_activity
, क्वेरी प्रारंभ में डेटाबेस में आती हैstate='active'
। शायद 15 सेकंड के बाद, राज्य 'निष्क्रिय' में बदल जाता है और इसके अलावा, इसकेxact_start
लिए सेट किया जाता हैNULL
। प्रतीक्षा ध्वज कभी भी सत्य पर सेट नहीं होता है।इससे पहले कि मैं sqlalchemy के लिए लेन-देन के स्तर के स्वरुप का पता लगाता, वह इसके बजाय राज्य में लटका
'idle in transaction'
होता'idle'
। और यह संभवतः उस परिवर्तन को करने के बाद से थोड़ा कम लटका रहता है?
मुझे ऐसा लगता है कि मैं इस पर जितना भी गहराई से खुदाई करने के लिए सुसज्जित नहीं हूं। किसी भी प्रतिक्रिया, यहां तक कि अलग-अलग राज्यों के बारे में और अधिक व्याख्या करने और संबंधित उत्तर देने वाले इंटर्नल को एक निश्चित जवाब दिए बिना, बहुत सराहना की जाएगी।
COMMIT
लेनदेन को समाप्त करने के लिए जारी नहीं किया गया है। ऐसा लगता है कि आपका मुद्दा db से कहीं अधिक हो सकता है ..