जब एक PostgreSQL प्रक्रिया "लेनदेन में निष्क्रिय" है तो इसका क्या मतलब है?


87

जब एक PostgreSQL प्रक्रिया "लेनदेन में निष्क्रिय" होती है तो इसका क्या मतलब है?

एक सर्वर पर जिसे मैं देख रहा हूं, "ps ax | grep postgres" का आउटपुट मुझे 9 पोस्टग्रेसीक्यू प्रक्रियाओं को दिखता है जो निम्नलिखित की तरह दिखते हैं:

postgres: user db 127.0.0.1(55658) idle in transaction

क्या इसका मतलब यह है कि कुछ प्रक्रियाओं को लटका दिया गया है, लेनदेन के लिए प्रतिबद्ध होने की प्रतीक्षा कर रहे हैं? प्रासंगिक प्रलेखन के लिए किसी भी संकेत की सराहना की है।

जवाबों:


56

PostgreSQL मैनुअल इंगित करता है कि इसका मतलब है लेन-देन के लिए खुला है (अंदर शुरू हो) और प्रयोग। यह सबसे अधिक संभावना है कि एक उपयोगकर्ता जो मॉनिटर का उपयोग कर जुड़ा हुआ है जो सोच रहा है या टाइप कर रहा है। मेरे पास मेरे सिस्टम पर बहुत सारे हैं।

यदि आप प्रतिकृति के लिए Slony का उपयोग कर रहे हैं, हालाँकि, Slony-I FAQ बताता idle in transactionहै कि नेटवर्क कनेक्शन को अचानक समाप्त कर दिया गया था। अधिक जानकारी के लिए उस FAQ में चर्चा देखें।


9
केवल 'निष्क्रिय' का क्या मतलब है ?? क्या 'निष्क्रिय' राज्य में लेनदेन भी खुले हैं?
यूसुफ सुल्तान

2
मॉनिटर का क्या मतलब है?
अब्दुल

2
@ अब्दुल psql ग्राहक। "मॉनिटर" एक डेटाबेस को नियंत्रित करने के लिए उपयोग किए जाने वाले सॉफ़्टवेयर के लिए एक (जाहिरा तौर पर) पुरातन शब्द है।
17

@ युसूफ सुल्तान देखें: dba.stackexchange.com/a/202028/26781
pdoherty926

18

जैसा कि यहां बताया गया है: Re: BUG # 4243: लेनदेन में आइडल यह शायद सबसे अच्छा है कि आप अपनी pg_locks तालिका को देखें कि क्या लॉक किया जा रहा है और यह आपको एक बेहतर सुराग दे सकता है जहां समस्या निहित है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.