2008-09-09 8 views
60

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

एक सर्वर पर है कि मैं पर देख रहा हूँ, की "ps कुल्हाड़ी | ग्रेप postgres" उत्पादन मैं 9 PostgreSQL प्रक्रियाओं को देखने को निम्न रूप में:

postgres: user db 127.0.0.1(55658) idle in transaction 

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

उत्तर

34

PostgreSQL manual इंगित करता है कि इसका मतलब है कि लेनदेन खुला है (BEGIN के अंदर) और निष्क्रिय। यह संभव है कि एक उपयोगकर्ता मॉनिटर का उपयोग कर कनेक्ट हो जो सोच रहा हो या टाइप कर रहा हो। मेरे पास भी मेरे सिस्टम पर बहुत सारे हैं।

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

+7

केवल 'निष्क्रिय' का अर्थ क्या है ?? क्या 'निष्क्रिय' राज्य में लेनदेन भी खुलते हैं? –

+1

* मॉनिटर * मतलब क्या है? – Abdull

+1

@Abdull psql क्लाइंट। "मॉनिटर" डेटाबेस को नियंत्रित करने के लिए उपयोग किए जाने वाले सॉफ़्टवेयर के लिए एक (स्पष्ट रूप से) पुरातन शब्द है। – Anonymoose

9

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

संबंधित मुद्दे