आप SQL के माध्यम से सक्रिय उपयोगकर्ताओं को पोस्टग्रेक्यूएल डेटाबेस से कैसे जुड़ सकते हैं?


87

आप SQL के माध्यम से सक्रिय उपयोगकर्ताओं को पोस्टग्रेक्यूएल डेटाबेस से कैसे जुड़ सकते हैं? यह उपयोगकर्ता का उपयोगकर्ता या संख्या हो सकती है।

जवाबों:


114

(प्रश्न) क्या आपको वह जानकारी प्राप्त नहीं है

pg_user से * सेलेक्ट करें ;

या दृश्य का उपयोग कर pg_stat_activity :

select * from pg_stat_activity;

जोड़ा गया:

दृश्य कहता है:

प्रति सर्वर प्रक्रिया की एक पंक्ति, डेटाबेस OID, डेटाबेस का नाम, प्रोसेस आईडी, उपयोगकर्ता OID, उपयोगकर्ता नाम , वर्तमान क्वेरी, क्वेरी की प्रतीक्षा स्थिति, जिस समय वर्तमान क्वेरी का निष्पादन शुरू हुआ, जिस समय प्रक्रिया शुरू हुई थी, और क्लाइंट का पता और पोर्ट नंबर । वर्तमान क्वेरी पर डेटा की रिपोर्ट करने वाले कॉलम तब तक उपलब्ध होते हैं जब तक कि पैरामीटर आँकड़े_कॉमंड_स्ट्रिंग को बंद नहीं किया जाता है। इसके अलावा, ये कॉलम केवल तभी दिखाई देते हैं जब दृश्य की जांच करने वाला उपयोगकर्ता एक सुपरयूज़र या उसी के समान होता है, जिस उपयोगकर्ता के पास इस प्रक्रिया की रिपोर्ट की जा रही है।

क्या आप उस जानकारी को फ़िल्टर और प्राप्त नहीं कर सकते? डेटाबेस पर वर्तमान उपयोगकर्ता होंगे, आप उदाहरण के लिए पिछले 5 मिनट से सभी प्रश्नों को प्राप्त करने के लिए निष्पादन समय का उपयोग कर सकते हैं ...

ऐसा कुछ।


2
नहीं, यह ज्ञात उपयोगकर्ताओं की सूची है, वर्तमान में जुड़ी संख्या नहीं।
केल्टिया

कैसे के बारे में आँकड़े कलेक्टर? (दृश्य नाम पर लिंक का पालन करें)
balexandre

4
@ mm2010: pg_stat_activity: केवल सक्रिय उपयोगकर्ता। pg_user: सभी उपयोगकर्ताओं को सूचीबद्ध करें
हाओ

4
डाउनवोट किया गया है, उत्तर थोड़ा भटकता है और कुछ जानकारी प्रदान करता है जो भविष्य के पाठकों को भ्रमित कर सकता है, उदाहरण के लिए, पोस्टग्रेसीक्यूएल डेटाबेस से जुड़े सक्रिय उपयोगकर्ताओं को खोजने के लिए pg_user उपयोगी नहीं है।
ब्रैड कोच


7

ओपी ने एक विशेष डेटाबेस से जुड़े उपयोगकर्ताओं के लिए कहा :

-- Who's currently connected to my_great_database?
SELECT * FROM pg_stat_activity 
  WHERE datname = 'my_great_database';

यह आपको सभी प्रकार की रसदार जानकारी मिलती है (जैसा कि दूसरों ने उल्लेख किया है) जैसे

  • उपयोगकर्ता (कॉलम usesysid)
  • उपयोगकर्ता नाम ( usename)
  • क्लाइंट अनुप्रयोग नाम ( appname), अगर यह उस चर को सेट करने के लिए परेशान psqlकरता है - करता है :-)
  • आईपी ​​पता ( client_addr)
  • यह किस स्थिति में है (राज्य और प्रतीक्षा की स्थिति से संबंधित कुछ कॉलम)
  • और सबका पसंदीदा, वर्तमान SQL कमांड चलाया जा रहा है ( query)
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.