TRANXACT.AI मदद

सिस्टम मॉनिटर: कार्य प्रक्रियाएं, ट्रेस, लॉक और सत्र

इस समय प्लेटफॉर्म क्या कर रहा है, इसके पीछे डेटाबेस का काम, इसमें मौजूद लॉक और कौन-कौन लॉग इन है - और इन सब को कैसे रोका जा सकता है।

वर्क प्रोसेस, सिस्टम ट्रेस और लॉक्स, इंटीग्रेशन, पाइपलाइन और वर्कफ़्लो हेल्थ स्क्रीन के बगल में स्थित Platform → Operations → Health के अंतर्गत हैं; वेब और यूज़र सेशंस, यूज़र्स के बगल में स्थित Platform → Access के अंतर्गत हैं। इनमें से प्रत्येक की अपनी अनुमति होती है, इसलिए एक ऑपरेशंस भूमिका को सिस्टम की निगरानी करने और अनियंत्रित क्वेरी को रद्द करने की अनुमति दी जा सकती है, लेकिन साथ ही सभी को साइन आउट करने की अनुमति भी नहीं दी जा सकती।

कार्य प्रक्रियाएँ

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

  • कैंसिल बटन वर्तमान में चल रहे स्टेटमेंट को रोक देता है; इसके बाद अनुरोध प्रतीक्षा करने के बजाय त्रुटि के साथ समाप्त हो जाता है। कई पंक्तियों को चुनें और उन्हें एक साथ रोकने के लिए कैंसिल सिलेक्टेड का उपयोग करें।
  • बैच रन के दौरान, कैंसिल कमांड अगले आइटम पर रन को रोक देता है - कोई भी आइटम अधूरा नहीं छोड़ा जाता - और रन को जितना पूरा हो चुका था, उसके साथ रद्द के रूप में रिकॉर्ड किया जाता है।
  • डेटाबेस बैकएंड पर End कमांड उस कनेक्शन को बंद कर देता है और उसके ट्रांज़ैक्शन को रोलबैक कर देता है। इसका उपयोग ऐसे सेशन के लिए करें जो "ट्रांज़ैक्शन में निष्क्रिय" अवस्था में है और लॉक्स को होल्ड कर रहा है, जिस तक Cancel कमांड नहीं पहुंच सकता क्योंकि उस समय कुछ भी नहीं चल रहा है।
  • किसी दूसरे कंटेनर पर चल रहा काम उसी कंटेनर के माध्यम से रद्द कर दिया जाता है: यह दस सेकंड के भीतर कार्रवाई करता है।
  • हर बार रद्द करने और समाप्त करने पर कारण पूछा जाता है, जो आपके नाम के साथ ऑडिट लॉग में दर्ज हो जाता है।

सिस्टम ट्रेसेस

ट्रेस (किसी भी कार्य या बैकएंड पर) एक प्रक्रिया को पूरी तरह से खोलता है: इसके द्वारा भेजे गए प्रत्येक स्टेटमेंट, प्रत्येक स्टेटमेंट द्वारा लिया गया समय और लौटाई गई पंक्तियाँ, इसके द्वारा रखे गए और प्रतीक्षा किए जा रहे लॉक, इसके आगे के सत्रों की श्रृंखला, इसके पीछे कतार में लगे सत्र और वर्तमान में चल रहे क्वेरी प्लान को दिखाता है, जहाँ इसे सुरक्षित रूप से दिखाया जा सकता है। सिस्टम ट्रेस स्क्रीन सबसे धीमे और सबसे हाल के कार्यों को सूचीबद्ध करती है, और - जहाँ डेटाबेस में pg_stat_statements हैं - उन स्टेटमेंट को दिखाती है जिन्होंने सबसे अधिक डेटाबेस समय का उपयोग किया है। उपयोगकर्ताओं द्वारा टाइप किए गए मान कभी रिकॉर्ड नहीं किए जाते हैं: यह व्यक्तिगत डेटा का स्रोत है।

ताले

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

  • सभी पुराने लेनदेन चुनें, फिर चयनित लेनदेन को रिलीज़ करें। PostgreSQL लॉक तभी वापस देता है जब उसे धारण करने वाला सत्र समाप्त हो जाता है, इसलिए रिलीज़ करने से वह सत्र समाप्त हो जाता है और उसका लेनदेन रोलबैक हो जाता है।
  • यदि आप जबरन रिलीज़ का विकल्प नहीं चुनते हैं, तो एक ऐसा लॉक जो पुराना नहीं है, उसे अस्वीकार कर दिया जाता है - एक स्वस्थ लेनदेन को समाप्त करना जो इस समय लॉक को धारण किए हुए है, वह क्लिक है जो उस घटना को जन्म देता है जिसे ठीक करने के लिए इसे किया गया था।
  • किसी पुराने बैच रन को रिलीज़ करने का मतलब है कि वह विफल हो गया है, इसलिए उसका शेड्यूल फिर से चल सकता है।

वेब और उपयोगकर्ता सत्र

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

प्लेटफ़ॉर्म के अंतर्गत भूमिका स्क्रीन पर अनुमति देना: कार्य प्रक्रियाएँ — देखने के लिए प्रदर्शित करें, रद्द करने के लिए बदलें, बैकएंड समाप्त करने के लिए हटाएँ। सिस्टम ट्रेस — प्रदर्शित करें। लॉक — देखने के लिए प्रदर्शित करें, रिलीज़ करने के लिए हटाएँ। वेब और उपयोगकर्ता सत्र — देखने के लिए प्रदर्शित करें, लोगों को साइन आउट करने के लिए हटाएँ। एक व्यवस्थापक इन सभी को नियंत्रित करता है। बहु-किरायेदार परिनियोजन में प्रत्येक किरायेदार केवल अपना कार्य और अपने डेटाबेस कनेक्शन देख सकता है।