2013-07-15 9 views
20

मैं देखना चाहता हूं कि लाइव Django एप्लिकेशन पर कौन से प्रश्न निष्पादित किए जा रहे हैं, और वे कितनी मेमोरी ले रहे हैं। मैंने पढ़ा है कि pg_stat_activity पोस्टग्रेज़ डेटाबेस की निगरानी के लिए उपयोगी हो सकता है।pg_stat_activity का उपयोग कैसे करें?

मेरे पास looked at the Postgres documentation है, लेकिन मेरे पास एक बहुत ही सरल सवाल है जिसका उत्तर वहां दिया नहीं जा रहा है।

मैं वास्तव में pg_stat_activity के साथ कैसे शुरू करूं? मैं इसका उपयोग करने के लिए क्या टाइप करूं, और मैं इसे कहां टाइप करूं?

+0

आपको इसके बजाय [pgstatstatements मॉड्यूल] (http://www.postgresql.org/docs/current/static/pgstatstatements.html) की आवश्यकता है। –

उत्तर

27

this closely related answer देखें।

pg_stat_activitypg_catalog स्कीमा में एक दृश्य है।

आप इसे SELECT से किसी भी अन्य तालिका की तरह पूछ सकते हैं, उदाहरण के लिए SELECT * FROM pg_stat_activity। आपके द्वारा लिंक किया गया मैनुअल पेज इसके कॉलम बताता है।

आप कभी कभी अपने आप को pg_class (टेबल्स) जैसे अन्य टेबल पर शामिल होने के लिए इच्छुक मिल जाएगा, pg_namespace (स्कीमा), आदि

pg_stat_activityकरता बैक-एंड स्मृति उपयोग के बारे में जानकारी का खुलासा नहीं। इसके लिए आपको ऑपरेटिंग सिस्टम स्तर की सुविधाओं का उपयोग करने की आवश्यकता है। यह आप इस प्रक्रिया आईडी, सक्रिय उपयोगकर्ता बता, वर्तमान में क्वेरी, गतिविधि स्थिति, समय पिछले क्वेरी शुरू कर दिया, आदि यह पहचान करने के लिए अच्छा है चल idle in transaction सत्र, बहुत लंबे समय से चल रहा प्रश्नों, आदि

सच कहूं लंबे समय से चल करता है , PostgreSQL की अंतर्निहित निगरानी बल्कि प्राथमिक है। यह उन क्षेत्रों में से एक है जो काम करने के लिए रोमांचक नहीं हैं, और वाणिज्यिक ग्राहक प्रायः इसे वित्त पोषित करने के इच्छुक नहीं हैं। अधिकांश लोग युगल टूल्स जैसे check_postgres इसिंगा और मुनिन के साथ, या ज़ब्बिक्स या अन्य बाहरी निगरानी एजेंटों का उपयोग करते हैं।

आपके मामले में ऐसा लगता है कि आप वास्तव में pg_stat_statements, और/या पीजीबैगर लॉग विश्लेषण उपयुक्त लॉगिंग सेटिंग्स और संभवतः auto_explain मॉड्यूल के साथ चाहते हैं।

+0

इस उत्तर के लिए धन्यवाद! तो बस असली मूलभूत बातें को कवर करने के लिए .... मुझे अपनी स्क्रिप्ट चलाने शुरू करनी चाहिए, फिर एक नए कंसोल टैब में, मेरे डेटाबेस में पोस्टग्रेस कनेक्शन खोलें, और 'select * से pg_stat_activity' टाइप करें और विभिन्न कथन दिखाई देंगे। क्या वो सही है? – Richard

+1

@ रिचर्ड संख्या, केवल * वर्तमान में चल रहा * कथन। 'pg_stat_activity' क्या हो रहा है इसका एक दृश्य है * अभी अभी *। लगता है जैसे आप 'pg_stat_statements' एक्सटेंशन और/या PgBadger + auto_explain मुझे चाहते हैं। –

+4

यहां तक ​​कि छोटा: 'तालिका pg_stat_activity; ' –

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