अंग्रेज़ीफ्रेंचस्पेनिश

Ad


ऑनवर्क्स फ़ेविकॉन

check_postgres_sequencep - क्लाउड में ऑनलाइन

उबंटू ऑनलाइन, फेडोरा ऑनलाइन, विंडोज ऑनलाइन एमुलेटर या मैक ओएस ऑनलाइन एमुलेटर पर ऑनवर्क्स फ्री होस्टिंग प्रदाता में check_postgres_sequencep चलाएं

यह कमांड check_postgres_sequencep है जिसे हमारे कई मुफ्त ऑनलाइन वर्कस्टेशन जैसे उबंटू ऑनलाइन, फेडोरा ऑनलाइन, विंडोज ऑनलाइन एमुलेटर या मैक ओएस ऑनलाइन एमुलेटर का उपयोग करके ऑनवर्क्स फ्री होस्टिंग प्रदाता में चलाया जा सकता है।

कार्यक्रम:

नाम


check_postgres - Nagios, MRTG, Cacti, और अन्य के लिए एक पोस्टग्रेस मॉनिटरिंग स्क्रिप्ट

यह दस्तावेज़ check_postgres संस्करण 2.22.0 . का वर्णन करता है

SYNOPSIS


## सभी सिम्लिंक बनाएं
check_postgres --symlinks

## डेटाबेस 'प्लूटो' को पोस्टग्रेज करने के लिए कनेक्शन की जाँच करें:
check_postgres --कार्रवाई=कनेक्शन --db=pluto

## वही बातें, लेकिन सिम्लिंक का उपयोग करना
check_postgres_connection --db=प्लूटो

## चेतावनी दें अगर > 100 ताले, गंभीर अगर > 200, या > 20 अनन्य
check_postgres_locks --warning=100 --critical="total=200:Exclusive=20"

## पोर्ट 6543 पर निष्क्रिय कनेक्शन की वर्तमान संख्या दिखाएं:
check_postgres_txn_idle --पोर्ट=6543 --आउटपुट=सरल

## और भी कई कार्रवाइयां और विकल्प हैं, कृपया पढ़ते रहें।

नवीनतम समाचार और दस्तावेज हमेशा यहां देखे जा सकते हैं:
http://bucardo.org/check_postgres/

वर्णन


check_postgres एक पर्ल स्क्रिप्ट है जो एक या अधिक के विरुद्ध कई अलग-अलग परीक्षण चलाती है
डेटाबेस पोस्टग्रेज करता है। यह जानकारी एकत्र करने के लिए psql प्रोग्राम का उपयोग करता है, और आउटपुट करता है
तीन प्रारूपों में से एक में परिणाम: Nagios, MRTG, या सरल।

उत्पादन मोड
आउटपुट को "--output" विकल्प के उपयोग से बदला जा सकता है। डिफ़ॉल्ट आउटपुट नागियोस है,
हालांकि यदि आप चाहें तो इसे स्क्रिप्ट के शीर्ष पर बदला जा सकता है। वर्तमान विकल्प
विकल्प हैं nagios, एमआरटीजी, तथा सरल. प्रत्येक आउटपुट तर्क दर्ज करने से बचने के लिए
समय, आउटपुट का प्रकार स्वचालित रूप से सेट हो जाता है यदि कोई --आउटपुट तर्क नहीं दिया जाता है, और यदि
वर्तमान निर्देशिका के नाम पर आउटपुट विकल्पों में से एक है। उदाहरण के लिए, a . बनाना
निर्देशिका का नाम mrtg है और इसे के माध्यम से सिम्लिंक के साथ पॉप्युलेट कर रहा है --सिम्लिंक तर्क होगा
सुनिश्चित करें कि उस निर्देशिका से चलने वाली कोई भी क्रिया हमेशा "mrtg" के आउटपुट के लिए डिफ़ॉल्ट होगी
--output=simple के लिए शॉर्टकट के रूप में, आप --simple दर्ज कर सकते हैं, जो को ओवरराइड भी करता है
निर्देशिका नामकरण चाल।

Nagios उत्पादन

डिफ़ॉल्ट आउटपुट स्वरूप Nagios के लिए है, जो सूचना की एक पंक्ति है, साथ में
चार विशिष्ट निकास कोड:

0 (ठीक है)
1 (चेतावनी)
2 (महत्वपूर्ण)
3 (अज्ञात)

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

एमआरटीजी उत्पादन

MRTG आउटपुट चार लाइन है, पहली लाइन हमेशा एक ही नंबर देती है
महत्त्व। जब संभव हो, यह संख्या वास्तविक मान का प्रतिनिधित्व करती है जैसे कि संख्या
बाइट्स, लेकिन यह उन कार्यों के लिए 1 या 0 भी हो सकता है जो केवल "सत्य" या "गलत" लौटाते हैं, जैसे
check_postgres_version के रूप में। दूसरी पंक्ति एक अतिरिक्त स्टेट है और इसका उपयोग केवल . के लिए किया जाता है
कुछ क्रियाएं। तीसरी पंक्ति "अपटाइम" को इंगित करती है और इसका उपयोग नहीं किया जाता है। चौथी पंक्ति है a
विवरण और आमतौर पर पहली पंक्ति से डेटाबेस के नाम को इंगित करता है
से खींचा गया था, लेकिन कार्रवाई के आधार पर भिन्न हो सकता है।

कुछ कार्रवाइयां वैकल्पिक स्वीकार करती हैं --mrtg उत्पादन को और नियंत्रित करने का तर्क।

प्रत्येक के लिए सटीक एमआरटीजी आउटपुट के विवरण के लिए प्रत्येक क्रिया पर दस्तावेज़ देखें।

सरल उत्पादन

साधारण आउटपुट MRTG वन का केवल एक छोटा संस्करण है, और बस इसे लौटाता है
पहला नंबर और कुछ नहीं। यह बहुत उपयोगी है जब आप सिर्फ राज्य की जांच करना चाहते हैं
किसी चीज की, किसी भी सीमा की परवाह किए बिना। आप संख्यात्मक आउटपुट को द्वारा रूपांतरित कर सकते हैं
KB, MB, GB, TB, या EB को आउटपुट तर्क में जोड़ना, उदाहरण के लिए:

--आउटपुट = सरल, एमबी

कैक्टस उत्पादन

कैक्टि आउटपुट में एक ही लाइन पर एक या एक से अधिक आइटम होते हैं, एक साधारण नाम के साथ, a
बृहदान्त्र, और फिर एक संख्या। फिलहाल, स्पष्ट कैक्टि आउटपुट के साथ एकमात्र क्रिया है
'dbstats', और इस मामले में --output विकल्प का उपयोग करने की आवश्यकता नहीं है, क्योंकि केवल कैक्टि है
इस कार्रवाई के लिए आउटपुट। कई अन्य क्रियाओं के लिए, --simple का उपयोग करना Cacti . बनाने के लिए पर्याप्त है
खुश.

डेटाबेस कनेक्शन विकल्प


सभी क्रियाएं डेटाबेस विकल्पों के एक सामान्य सेट को स्वीकार करती हैं।

-H नाम or --होस्ट=नाम
NAME द्वारा बताए गए होस्ट से कनेक्ट करें. नामों की अल्पविराम से अलग की गई सूची हो सकती है।
एकाधिक होस्ट तर्कों की अनुमति है। यदि कोई होस्ट नहीं दिया गया है, तो डिफ़ॉल्ट रूप से "PGHOST"
पर्यावरण चर या कोई होस्ट बिल्कुल नहीं (जो स्थानीय यूनिक्स सॉकेट का उपयोग करने का संकेत देता है)।
आप "--dbhost" का भी उपयोग कर सकते हैं।

-p पोर्ट or --पोर्ट = पोर्ट
निर्दिष्ट पोर्ट नंबर का उपयोग करके जोड़ता है। पोर्ट की अल्पविराम से अलग की गई सूची हो सकती है
संख्याएं, और एकाधिक पोर्ट तर्कों की अनुमति है। यदि कोई पोर्ट नंबर नहीं दिया गया है, तो डिफॉल्ट्स
"PGPORT" पर्यावरण चर के लिए। यदि वह सेट नहीं है, तो वह डिफ़ॉल्ट रूप से 5432 पर आ जाता है। आप कर सकते हैं
"--dbport" का भी उपयोग करें

-डीबी नाम or --dbname=नाम
निर्दिष्ट करता है कि किस डेटाबेस से कनेक्ट करना है। नामों की अल्पविराम से अलग की गई सूची हो सकती है, और
एकाधिक डीबीनाम तर्कों की अनुमति है। यदि कोई dbname विकल्प प्रदान नहीं किया गया है, तो डिफ़ॉल्ट है
"PGDATABASE" पर्यावरण चर। यदि वह सेट नहीं है, तो यह डिफ़ॉल्ट रूप से 'पोस्टग्रेज' कर देता है
यदि psql संस्करण 8 या उच्चतर है, और 'टेम्पलेट1' अन्यथा।

-u USERNAME or --dbuser=उपयोगकर्ता नाम
कनेक्ट करने के लिए डेटाबेस उपयोगकर्ता का नाम। अल्पविराम से अलग की गई सूची हो सकती है
उपयोगकर्ता नाम, और एकाधिक dbuser तर्कों की अनुमति है। यदि यह प्रदान नहीं किया जाता है, तो यह
"PGUSER" पर्यावरण चर के लिए डिफ़ॉल्ट, अन्यथा यह 'पोस्टग्रेज' के लिए डिफ़ॉल्ट है।

--डीबीपास=पासवर्ड
डेटाबेस से कनेक्ट करने के लिए पासवर्ड प्रदान करता है। इस विकल्प का उपयोग अत्यधिक
निराश. इसके बजाय, किसी को .pgpass या pg_service.conf फ़ाइल का उपयोग करना चाहिए।

--dbservice=नाम
pg_service.conf फ़ाइल के अंदर एक सेवा का नाम। संस्करण 9.0 . से पहले
पोस्टग्रेज, यह एक वैश्विक फ़ाइल है, जो आमतौर पर /etc/pg_service.conf में पाई जाती है। अगर आप
Postgres के संस्करण 9.0 या उच्चतर का उपयोग करके, आप ".pg_service.conf" फ़ाइल का उपयोग कर सकते हैं
स्क्रिप्ट चलाने वाले उपयोगकर्ता की होम निर्देशिका, जैसे nagios.

इस फ़ाइल में कनेक्शन विकल्पों की एक साधारण सूची है। आप अतिरिक्त पास भी कर सकते हैं
इस विकल्प का उपयोग करते समय जानकारी जैसे --dbservice="maindatabase sslmode=require"

इस फ़ाइल के लिए दस्तावेज़ीकरण यहां पाया जा सकता है
http://www.postgresql.org/docs/current/static/libpq-pgservice.html

डेटाबेस कनेक्शन विकल्पों को समूहीकृत किया जा सकता है: --होस्ट = ए, बी --होस्ट=सी --पोर्ट=1234
--पोर्ट=3344 a-1234, b-1234, और c-3344 से कनेक्ट होगा। ध्यान दें कि एक बार सेट हो जाने पर, एक विकल्प
तब तक चलता है जब तक कि इसे फिर से नहीं बदला जाता।

उदाहरण:

--होस्ट=ए,बी --पोर्ट=5433 --डीबी=सी
डेटाबेस c का उपयोग करके, a और b को होस्ट करने के लिए पोर्ट 5433 से दो बार जोड़ता है: a-5433-c b-5433-c

--होस्ट=ए,बी --पोर्ट=5433 --डीबी=सी,डी
चार बार जोड़ता है: a-5433-c a-5433-d b-5433-c b-5433-d

--होस्ट = ए, बी --होस्ट = फू --पोर्ट = 1234 --पोर्ट = 5433 --डीबी = ई, एफ
छह बार जोड़ता है: a-1234-e a-1234-f b-1234-e b-1234-f foo-5433-e foo-5433-f

--होस्ट=ए,बी --होस्ट=एक्स --पोर्ट=5432,5433 --dbuser=ऐलिस --dbuser=bob -db=baz
तीन बार जोड़ता है: a-5432-alice-baz b-5433-alice-baz x-5433-bob-baz

--dbservice="foo" --port=5433
pg_service.conf फ़ाइल में नामित सेवा 'foo' का उपयोग करके कनेक्ट करता है, लेकिन पोर्ट को ओवरराइड करता है

अन्य विकल्प


अन्य विकल्पों में शामिल हैं:

--क्रिया=नाम
बताएं कि हम क्या कार्रवाई कर रहे हैं। एक सिम्लिंक्ड फ़ाइल का उपयोग करने तक आवश्यक है, जिसमें
मामला फ़ाइल का नाम कार्रवाई का पता लगाने के लिए प्रयोग किया जाता है।

--चेतावनी=VAL or -w वैल
वह थ्रेशोल्ड सेट करता है जिस पर चेतावनी चेतावनी सक्रिय की जाती है। इसके लिए मान्य विकल्प
विकल्प इस्तेमाल की गई कार्रवाई पर निर्भर करता है।

--क्रिटिकल = वैल or -c वैल
वह थ्रेशोल्ड सेट करता है जिस पर एक महत्वपूर्ण अलर्ट निकाल दिया जाता है। इसके लिए मान्य विकल्प
विकल्प इस्तेमाल की गई कार्रवाई पर निर्भर करता है।

-t वैल or --टाइमआउट=VAL
सेकंड में टाइमआउट सेट करता है जिसके बाद स्क्रिप्ट जो कुछ भी कर रही है उसे रद्द कर देगी और
एक अज्ञात स्थिति लौटाएं। टाइमआउट प्रति पोस्टग्रेज क्लस्टर है, संपूर्ण के लिए नहीं
स्क्रिप्ट डिफ़ॉल्ट मान 10 है; इकाइयाँ हमेशा सेकंड में होती हैं।

--मान लें-स्टैंडबाय-मोड
यदि निर्दिष्ट किया गया है, तो पहले जांचें कि सर्वर स्टैंडबाय मोड में है या नहीं (--datadir
आवश्यक है), यदि ऐसा है, तो SQL क्वेरी की आवश्यकता वाले सभी चेकों को अनदेखा कर दिया जाएगा और "सर्वर
स्टैंडबाय मोड में" OK स्थिति के साथ बदले में लौटा दी जाएगी।

उदाहरण:

postgres@db$./check_postgres --action=version --warning=8.1 --datadir /var/lib/postgresql/8.3/main/ --assum-standby-mode
POSTGRES_VERSION ठीक: स्टैंडबाय मोड में सर्वर | समय = 0.00

--मान लें-उत्पाद
यदि निर्दिष्ट किया गया है, तो जांचें कि क्या सर्वर उत्पादन मोड में है (--datadir आवश्यक है)।
विकल्प केवल ("सिम्लिंक: check_postgres_checkpoint") के लिए प्रासंगिक है।

उदाहरण:

postgres@db$./check_postgres --action=checkpoint --datadir /var/lib/postgresql/8.3/main/ --assum-prod
POSTGRES_CHECKPOINT ठीक: अंतिम चेकपॉइंट 72 सेकंड पहले था | आयु=72;;300 मोड=मास्टर

-h or --मदद
सभी कार्यों और विकल्पों के सारांश के साथ एक सहायता स्क्रीन प्रदर्शित करता है।

--पुरुष
संपूर्ण मैनुअल प्रदर्शित करता है।

-V or --संस्करण
वर्तमान संस्करण दिखाता है।

-v or --शब्दशः
वर्बोसिटी लेवल सेट करें। स्तर को बढ़ावा देने के लिए एक से अधिक बार कॉल कर सकते हैं। इसे सेट करना
तीन या उच्चतर (दूसरे शब्दों में, "-v -v -v" जारी करना) डिबगिंग जानकारी को चालू करता है
इस कार्यक्रम के लिए जो stderr को भेजा जाता है।

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

--परफ्लिमिट = मैं
इसका उपयोग करते समय ब्याज की कितनी वस्तुओं को वापस रिपोर्ट किया जाता है, इसकी एक सीमा निर्धारित करता है
शोपरफ विकल्प। यह केवल उन कार्रवाइयों पर प्रभाव डालता है जो बड़ी संख्या में
आइटम, जैसे तालिका_आकार. डिफ़ॉल्ट 0 है, या कोई सीमा नहीं है। इसका उपयोग करते समय सावधान रहें
साथ --शामिल or --निकालना विकल्प, जैसा कि उन प्रतिबंधों को किया जाता है बाद la
क्वेरी चलाई गई है, और इस प्रकार आपकी सीमा में वे आइटम शामिल नहीं हो सकते हैं जो आप चाहते हैं। केवल लेता है
Nagios आउटपुट मोड का उपयोग करते समय प्रभाव।

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

--परीक्षण
परीक्षण मोड सक्षम करता है। नीचे "टेस्ट मोड" अनुभाग देखें।

--पीजीबीइंडिर=पथ
स्क्रिप्ट को बताता है कि psql बायनेरिज़ को कहाँ खोजना है। उपयोगी यदि आपके पास एक से अधिक हैं
आपके सिस्टम पर PostgreSQL निष्पादन योग्य का संस्करण, या यदि आपके में नहीं है
पथ। ध्यान दें कि यह विकल्प सभी अपरकेस में है। डिफ़ॉल्ट रूप से, यह विकल्प है नहीं
की अनुमति दी. इसे सक्षम करने के लिए, आपको स्क्रिप्ट के शीर्ष के पास $NO_PSQL_OPTION को बदलना होगा
से 0. यदि आप कर सकते हैं तो इस विकल्प का उपयोग करने से बचें, और इसके बजाय पर्यावरण चर का उपयोग करें
सी या हार्ड-कोडित $PGBINDIR चर, स्क्रिप्ट के शीर्ष के पास भी, सेट करने के लिए
उपयोग करने के लिए PostgreSQL का पथ।

--पीएसक्यूएल=पथ
(पदावनत, इसका विकल्प मई be हटाया in a भविष्य रिहाई!) स्क्रिप्ट बताता है जहां
psql प्रोग्राम को खोजने के लिए। उपयोगी अगर आपके पास psql के एक से अधिक संस्करण हैं
आपके सिस्टम पर निष्पादन योग्य, या यदि आपके पथ में कोई psql प्रोग्राम नहीं है। ध्यान दें कि यह
विकल्प सभी अपरकेस में है। डिफ़ॉल्ट रूप से, यह विकल्प है नहीं की अनुमति दी. इसे सक्षम करने के लिए, आप
स्क्रिप्ट के शीर्ष के पास $NO_PSQL_OPTION को 0 में बदलना होगा। इसका उपयोग करने से बचें
विकल्प यदि आप कर सकते हैं, और इसके बजाय अपने psql स्थान को $PSQL चर में हार्ड-कोड करें,
स्क्रिप्ट के शीर्ष के पास भी।

--सिम्लिंक
प्रत्येक क्रिया के लिए मुख्य कार्यक्रम के लिए सिम्लिंक बनाता है।

--आउटपुट = वैल
विभिन्न कार्यक्रमों में उपयोग के लिए आउटपुट का प्रारूप निर्धारित करता है। डिफ़ॉल्ट है
'नागियोस'। उपलब्ध विकल्प 'नागियोस', 'mrtg', 'सरल' और 'कैक्टी' हैं।

--mrtg=VAL
कुछ विशिष्ट कार्यों के लिए केवल MRTG या साधारण आउटपुट के लिए उपयोग किया जाता है।

--डीबगआउटपुट = वैल
डिबगिंग में उपयोग के लिए psql द्वारा लौटाए गए सटीक स्ट्रिंग को आउटपुट करता है। मान एक या है
अधिक अक्षर, जो निर्धारित करते हैं कि आउटपुट प्रदर्शित है या नहीं, जहां 'ए' = सभी, 'सी'
= महत्वपूर्ण, 'डब्ल्यू' = चेतावनी, 'ओ' = ठीक, और 'यू' = अज्ञात। अक्षरों को जोड़ा जा सकता है।

--get_method=VAL
"new_version_cp" के लिए जानकारी प्राप्त करने के लिए उपयोग की जाने वाली विधि के विनिर्देश की अनुमति देता है,
"new_version_pg", "new_version_bc", "new_version_box", और "new_version_tnm" चेक।
वेब से जानकारी प्राप्त करने के लिए निम्नलिखित कार्यक्रमों का प्रयास किया जाता है: प्राप्त करें,
wget, लाने, कर्ल, लिंक्स, लिंक। केवल एक का उपयोग करने के लिए बाध्य करने के लिए (और इस प्रकार हटा दें
उन कार्यों में से एक तक अन्य सभी को आजमाने का ओवरहेड), नामों में से एक दर्ज करें:
get_method का तर्क। उदाहरण के लिए, एक बीएसडी बॉक्स निम्न पंक्ति में प्रवेश कर सकता है
उनकी ".check_postgresrc" फ़ाइल:

get_method=लाओ

--भाषा=VAL
सभी आउटपुट संदेशों के लिए उपयोग की जाने वाली भाषा सेट करें। आम तौर पर, इसका पता लगाया जाता है
पर्यावरण चर LC_ALL, LC_MESSAGES, और LANG की जांच करना, लेकिन इसे सेट करना
विकल्प ऐसी किसी भी पहचान को ओवरराइड कर देगा।

कार्रवाई


स्क्रिप्ट एक या अधिक क्रियाएँ चलाती है। यह या तो --action ध्वज के साथ किया जा सकता है, या by
मुख्य फ़ाइल के लिए एक सिम्लिंक का उपयोग करना जिसमें इसके अंदर की क्रिया का नाम होता है। के लिये
उदाहरण के लिए, "timesync" क्रिया को चलाने के लिए, आप या तो जारी कर सकते हैं:

check_postgres --action=timesync

या नाम के एक प्रोग्राम का उपयोग करें:

check_postgres_timesync

यदि आप --symlinks . विकल्प का उपयोग करते हैं तो सभी सिम्लिंक वर्तमान निर्देशिका में आपके लिए बनाए गए हैं

पर्ल check_postgres --symlinks

यदि फ़ाइल का नाम पहले से मौजूद है, तो इसे अधिलेखित नहीं किया जाएगा। अगर फ़ाइल मौजूद है और है a
सिमलिंक, आप इसे "--action=build_symlinks_force" का उपयोग करके अधिलेखित करने के लिए बाध्य कर सकते हैं

अधिकांश क्रियाएं एक --चेतावनी और एक --नाजुक विकल्प, यह दर्शाता है कि हम किस बिंदु पर बदलते हैं
OK से WARNING तक, और हम किस बिंदु पर CRITICAL पर जाते हैं। ध्यान दें कि क्योंकि आलोचनात्मक हैं
हमेशा पहले जाँच की जाती है, चेतावनी को क्रिटिकल के बराबर सेट करना एक प्रभावी तरीका है
चेतावनियां बंद करें और हमेशा आलोचनात्मक दें।

वर्तमान समर्थित क्रियाएं हैं:

संग्रह_तैयार
("सिम्लिंक: check_postgres_archive_ready") जाँचता है कि एक्सटेंशन वाली कितनी WAL फ़ाइलें हैं ।तैयार
में मौजूद है pg_xlog/archive_status निर्देशिका, जो आपके से दूर पाई जाती है data_directory.
की सामग्री तक पहुँचने के लिए, इस क्रिया को एक सुपरयुसर के रूप में चलाया जाना चाहिए
pg_xlog/archive_status निर्देशिका। इस क्रिया का उपयोग करने के लिए न्यूनतम संस्करण पोस्टग्रेज 8.1 है।
RSI --चेतावनी और --नाजुक विकल्प बस की संख्या हैं ।तैयार में फ़ाइलें
pg_xlog/archive_status निर्देशिका। आमतौर पर, ये मान कम होना चाहिए, को चालू करना
संग्रह तंत्र, हम आम तौर पर चाहते हैं कि यह जितनी जल्दी हो सके वाल फाइलों को संग्रहित करे।

यदि संग्रह आदेश विफल हो जाता है, तो आपके में वाल की संख्या पीजी_एक्सलॉग निर्देशिका तब तक बढ़ेगी
सभी डिस्क स्थान को समाप्त करना और PostgreSQL को तुरंत बंद करने के लिए बाध्य करना।

उदाहरण 1: जांचें कि मेजबान "प्लूटो" पर तैयार वाल फाइलों की संख्या 10 या उससे कम है

check_postgres_archive_ready --host=प्लूटो --critical=10

एमआरटीजी आउटपुट के लिए, लाइन 1 पर तैयार वाल फाइलों की संख्या की रिपोर्ट करता है।

ऑटोवैक_फ्रीज
("सिम्लिंक: check_postgres_autovac_freeze") जाँचता है कि प्रत्येक डेटाबेस कितना करीब है
postgres ऑटोवैक्यूम_फ़्रीज़_मैक्स_एज स्थापना। यह क्रिया केवल डेटाबेस के लिए काम करेगी
संस्करण 8.2 या उच्चतर। NS --चेतावनी और --नाजुक विकल्प के रूप में व्यक्त किया जाना चाहिए
प्रतिशत। प्रत्येक डेटाबेस में लेन-देन की 'आयु' की तुलना किससे की जाती है?
autovacuum_freeze_max_age सेटिंग (डिफ़ॉल्ट रूप से 200 मिलियन) एक गोल उत्पन्न करने के लिए
प्रतिशत। डिफ़ॉल्ट मान हैं 90% तक चेतावनी के लिए और 95% तक आलोचनात्मक के लिए। डेटाबेस
के उपयोग से फ़िल्टर किया जा सकता है --शामिल और --निकालना विकल्प। "बेसिक फ़िल्टरिंग" देखें
अधिक जानकारी के लिए अनुभाग।

उदाहरण 1: पोर्ट 5432 पर कोई डेटाबेस 97% से ऊपर होने पर चेतावनी दें

check_postgres_autovac_freeze --port=5432 --warning="97%"

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

बैकेंड
("सिम्लिंक: check_postgres_backends") एक या . के लिए कनेक्शन की वर्तमान संख्या की जाँच करता है
अधिक डेटाबेस, और वैकल्पिक रूप से इसकी तुलना अधिकतम अनुमत से की जाती है, जो द्वारा निर्धारित किया जाता है
पोस्टग्रेज कॉन्फ़िगरेशन चर max_connections--चेतावनी और --नाजुक विकल्पों
तीन रूपों में से एक ले सकता है। सबसे पहले, एक साधारण संख्या दी जा सकती है, जो का प्रतिनिधित्व करती है
कनेक्शन की संख्या जिस पर अलर्ट दिया जाएगा। यह विकल्प उपयोग नहीं करता है
max_connections स्थापना। दूसरा, उपलब्ध कनेक्शनों का प्रतिशत दिया जा सकता है।
तीसरा, एक ऋणात्मक संख्या दी जा सकती है जो शेष कनेक्शनों की संख्या का प्रतिनिधित्व करती है
जब तक max_connections पहुंच गया। के लिए डिफ़ॉल्ट मान --चेतावनी और --नाजुक रहे
'90%' और '95%'। आप के उपयोग से डेटाबेस को फ़िल्टर भी कर सकते हैं --शामिल और --निकालना
विकल्प। अधिक विवरण के लिए "बेसिक फ़िल्टरिंग" अनुभाग देखें।

केवल गैर-निष्क्रिय प्रक्रियाओं को देखने के लिए, आप इसका उपयोग कर सकते हैं --नोइडल तर्क। ध्यान दें कि उपयोगकर्ता आप
ठीक से काम करने के लिए एक सुपरयुसर के रूप में कनेक्ट हो रहे हैं।

उदाहरण 1: जब होस्ट quirm पर कनेक्शनों की संख्या 120 तक पहुँच जाए, और a
गंभीर अगर यह 150 तक पहुंच जाता है।

check_postgres_backends --host=quirm --warning=120 --critical=150

उदाहरण 2: जब हम मेजबानों पर अपनी अधिकतम_कनेक्शन सेटिंग के 75% तक पहुंच जाते हैं, तो एक आलोचनात्मक दें
lancre या lancre2.

check_postgres_backends --warning='75%' --critical='75%' --host=lancre,lancre2

उदाहरण 3: जब होस्ट पर केवल 10 और कनेक्शन स्लॉट बचे हों तो चेतावनी दें
प्लास्मिड, और एक महत्वपूर्ण जब हमारे पास केवल 5 शेष हैं।

check_postgres_backends --warning=-10 --critical=-5 --host=plasmid

उदाहरण 4: उनके नाम पर "परीक्षण" वाले डेटाबेस को छोड़कर सभी डेटाबेस की जाँच करें, लेकिन अनुमति दें कि
"pg_greatest" नाम दिए गए हैं। पहले दो होस्ट पर पोर्ट 5432 के रूप में और पोर्ट 5433 के रूप में कनेक्ट करें
तीसरा। जब हम 30 या अधिक कनेक्शन तक पहुँचते हैं तो हम हमेशा एक क्रिटिकल फेंकना चाहते हैं।

check_postgres_backends --dbhost=hong,kong --dbhost=fooey --dbport=5432 --dbport=5433 --warning=30 --critical=30 --exclude="~test" --include="pg_greatest,~prod "

MRTG आउटपुट के लिए, पहली पंक्ति में कनेक्शन की संख्या की सूचना दी जाती है, और चौथे पर
लाइन डेटाबेस का नाम देती है, साथ ही वर्तमान अधिकतम_कनेक्शन। यदि अधिक से अधिक
एक डेटाबेस से पूछताछ की गई है, सबसे अधिक कनेक्शन वाला आउटपुट आउटपुट है।

ब्लोट
("सिम्लिंक: check_postgres_bloat") टेबल और इंडेक्स में ब्लोट की मात्रा की जांच करता है। (ब्लोट
आम तौर पर एक टेबल या इंडेक्स में ली गई मृत अप्रयुक्त जगह की मात्रा होती है। यह स्थान है
आमतौर पर VACUUM कमांड के उपयोग द्वारा पुनः प्राप्त किया जाता है।) इस क्रिया के लिए आवश्यक है कि आँकड़े
संग्रह को लक्ष्य डेटाबेस पर सक्षम किया जाना चाहिए, और यह आवश्यक है कि ANALYZE चलाया जाए
बार - बार। NS --शामिल और --निकालना विकल्पों का उपयोग किस तालिका को फ़िल्टर करने के लिए किया जा सकता है
की ओर देखें। अधिक विवरण के लिए "बेसिक फ़िल्टरिंग" अनुभाग देखें।

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

ध्यान दें कि छोटे पर झूठे अलार्म से बचने के लिए इस क्रिया में दो हार्ड-कोडेड मान हैं
रिश्ते। तालिकाओं में कम से कम 10 पृष्ठ होने चाहिए, और अनुक्रमणिका कम से कम 15 होने चाहिए, इससे पहले कि वे हो सकें
इस परीक्षण द्वारा माना जाता है। यदि आप वास्तव में इन मूल्यों को समायोजित करना चाहते हैं, तो आप देख सकते हैं
चर $मिनपेज और $मिनीपेज "check_bloat" सबरूटीन के शीर्ष पर। इन
मूल्यों को नजरअंदाज कर दिया जाता है यदि या तो --निकालना or --शामिल प्रयोग किया जाता है।

केवल शीर्ष 10 सबसे अधिक फूले हुए संबंध दिखाए गए हैं। आप का उपयोग करके इस नंबर को बदल सकते हैं
--perflimit अपनी सीमा निर्धारित करने का विकल्प।

'information_schema' नाम की स्कीमा को इस परीक्षण से बाहर रखा गया है, क्योंकि यह एकमात्र टेबल है
इसमें छोटे होते हैं और बदलते नहीं हैं।

कृपया ध्यान दें कि इस क्रिया द्वारा परिकलित मान सटीक नहीं हैं, और इसका उपयोग इस प्रकार किया जाना चाहिए
केवल एक दिशानिर्देश। तालिका के सही आकार का अनुमान लगाने का बहुत प्रयास किया गया, लेकिन में
अंत यह केवल एक अनुमान है। सही सूचकांक आकार अनुमान से कहीं अधिक है
सही तालिका आकार, लेकिन दोनों को एक मोटा विचार देना चाहिए कि कैसे फूला हुआ चीजें हैं।

उदाहरण 1: चेतावनी दें कि पोर्ट 5432 पर कोई तालिका 100 एमबी से अधिक फूली हुई है, और यदि 200 . से अधिक है तो महत्वपूर्ण है
MB

check_postgres_bloat --port=5432 --warning='100 M' --critical='200 M'

उदाहरण 2: यदि मेज़बान 'सामी' पर तालिका 'आदेश' में 10 मेग्स से अधिक ब्लोट है तो एक आलोचनात्मक दें

check_postgres_bloat --host=sami --include=orders --critical='10 MB'

उदाहरण 3: यदि डेटाबेस 'बिक्री' पर तालिका 'q4' 50% से अधिक फूली हुई है, तो एक आलोचनात्मक दें

check_postgres_bloat --db=sales --include=q4 --critical='50%'

उदाहरण 4: एक क्रिटिकल दें, कोई भी तालिका 20% से अधिक फूली हुई है और 150 एमबी से अधिक ब्लोट है:

check_postgres_bloat --port=5432 --critical='20% और 150 M'

उदाहरण 5: एक क्रिटिकल दें, कोई भी तालिका 40% से अधिक फूली हुई है or 500 एमबी से अधिक ब्लोट है:

check_postgres_bloat --port=5432 --warning='500 M या 40%'

एमआरटीजी आउटपुट के लिए, पहली पंक्ति टेबल के लिए सबसे ज्यादा बर्बाद बाइट्स देती है,
और दूसरी पंक्ति इंडेक्स के लिए सबसे ज्यादा बर्बाद बाइट्स देती है। चौथा
लाइन डेटाबेस का नाम, तालिका का नाम और अनुक्रमणिका नाम की जानकारी देती है। यदि आप चाहते हैं
इसके बजाय ब्लोट अनुपात को आउटपुट करें (कितनी बार बड़े संबंध की तुलना कैसे की जाती है
बड़ा होना चाहिए), बस "--mrtg = अनुपात" में पास करें।

जांच की चौकी
("सिम्लिंक: check_postgres_checkpoint") निर्धारित करता है कि अंतिम चेकपॉइंट कितने समय से है
चलाया गया। यह उसी सर्वर पर चलना चाहिए जिस डेटाबेस की जाँच की जा रही है (उदाहरण के लिए)
-h झंडा काम नहीं करेगा)। यह चेक एक "वार्म स्टैंडबाय" सर्वर पर चलने के लिए है जो कि है
शिप की गई WAL फ़ाइलों को सक्रिय रूप से संसाधित कर रहा है, और यह जांचने के लिए है कि आपका गर्म स्टैंडबाय है
वास्तव में 'गर्म'। डेटा निर्देशिका को या तो पर्यावरण चर द्वारा सेट किया जाना चाहिए
"PGDATA", या "--datadir" तर्क पारित करना। यह के बाद से सेकंड की संख्या देता है
अंतिम चेकपॉइंट चलाया गया था, जैसा कि "pg_controldata" पर कॉल को पार्स करके निर्धारित किया गया था। वजह से
यह, pg_controldata निष्पादन योग्य वर्तमान पथ में उपलब्ध होना चाहिए। वैकल्पिक रूप से,
आप "PGBINDIR" को उस निर्देशिका के रूप में निर्दिष्ट कर सकते हैं जिसमें वह रहता है। इसका उपयोग करना भी संभव है
विशेष विकल्प --मान लें-उत्पाद or --मान लें-स्टैंडबाय-मोड, यदि पाया गया मोड नहीं है
एक अपेक्षित, एक CRITICAL उत्सर्जित होता है।

कम से कम एक चेतावनी या आलोचनात्मक तर्क सेट किया जाना चाहिए।

इस क्रिया के लिए दिनांक :: पार्स मॉड्यूल की आवश्यकता है।

MRTG या साधारण आउटपुट के लिए, सेकंड की संख्या लौटाता है।

क्लस्टर_आईडी
("सिम्लिंक: check_postgres_cluster-id") जाँचता है कि डेटाबेस सिस्टम पहचानकर्ता प्रदान किया गया है
pg_controldata द्वारा पिछली बार चेक किए जाने जैसा ही है। यह उसी सर्वर पर चलना चाहिए
डेटाबेस के रूप में जिसे चेक किया जा रहा है (उदाहरण के लिए -h ध्वज काम नहीं करेगा)। या तो
--चेतावनी या --नाजुक विकल्प दिया जाना चाहिए, लेकिन दोनों नहीं। प्रत्येक का मूल्य है
क्लस्टर पहचानकर्ता, एक पूर्णांक मान। आप विशेष "--critical=0" के साथ चला सकते हैं
मौजूदा क्लस्टर पहचानकर्ता का पता लगाने का विकल्प।

उदाहरण 1: प्रारंभिक पहचानकर्ता खोजें

check_postgres_cluster_id --critical=0 --datadir=/var//lib/postgresql/9.0/main

उदाहरण 2: सुनिश्चित करें कि क्लस्टर समान है और ऊपर से परिणाम का उपयोग करके चेतावनी दें कि यदि नहीं।

check_postgres_cluster_id --महत्वपूर्ण=5633695740047915135

MRTG आउटपुट के लिए, एक 1 या 0 देता है जो पहचानकर्ता की विफलता की सफलता का संकेत देता है
मिलान। एक पहचानकर्ता को "--mrtg" तर्क के रूप में प्रदान किया जाना चाहिए। चौथी पंक्ति हमेशा
वर्तमान पहचानकर्ता देता है।

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

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

उदाहरण: चेतावनी दें कि होस्ट फ़्लैग पर कोई डेटाबेस कमिट अनुपात में 90% से कम है, और महत्वपूर्ण है
अगर कम है तो 80%।

check_postgres_database_commitratio --host=flagg --warning='90%' --critical='80%'

MRTG आउटपुट के लिए, डेटाबेस का प्रतिशत सबसे छोटे कमिट अनुपात के साथ देता है
पहली पंक्ति, और चौथी पंक्ति पर डेटाबेस का नाम।

संबंध
("सिम्लिंक: check_postgres_connection") बस जोड़ता है, एक 'SELECT . जारी करता है संस्करण()', तथा
पत्तियां। नहीं लेता है --चेतावनी or --नाजुक विकल्प.

MRTG आउटपुट के लिए, बस पहले पर 1 (अच्छा कनेक्शन) या 0 (खराब कनेक्शन) आउटपुट करता है
लाइन.

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

कम से कम एक चेतावनी या आलोचनात्मक तर्क निर्दिष्ट किया जाना चाहिए। ये किस पर निर्भर करते हैं
आपके द्वारा चलाए जा रहे क्वेरी के प्रकार पर। Custom_queries चार प्रकार की होती हैं जो हो सकती हैं
रन, "valtype" तर्क द्वारा निर्दिष्ट। यदि कोई निर्दिष्ट नहीं है, तो यह क्रिया डिफ़ॉल्ट रूप से
'पूर्णांक'। चार प्रकार हैं:

पूर्णांक: एक साधारण पूर्णांक तुलना करता है। पहला कॉलम एक साधारण पूर्णांक होना चाहिए,
और चेतावनी और महत्वपूर्ण मान समान होने चाहिए।

स्ट्रिंग: चेतावनी और महत्वपूर्ण तार हैं, और केवल तभी ट्रिगर होते हैं जब मान में
पहला कॉलम इससे बिल्कुल मेल खाता है। यह केस-संवेदी है।

पहर: चेतावनी और महत्वपूर्ण समय हैं, और इसमें सेकंड, मिनट की इकाइयाँ हो सकती हैं,
घंटे, या दिन। प्रत्येक को एकवचन या संक्षिप्त रूप में केवल पहले अक्षर के रूप में लिखा जा सकता है। अगर
कोई इकाइयाँ नहीं दी गई हैं, सेकंड मान लिए गए हैं। पहला कॉलम एक पूर्णांक होना चाहिए
जाँच करने के लिए सेकंड की संख्या का प्रतिनिधित्व करना।

आकार: चेतावनी और महत्वपूर्ण आकार हैं, और इसमें बाइट्स, किलोबाइट्स की इकाइयाँ हो सकती हैं,
मेगाबाइट्स, गीगाबाइट्स, टेराबाइट्स या एक्साबाइट्स। प्रत्येक को पहले अक्षर के लिए संक्षिप्त किया जा सकता है।
यदि कोई इकाइयाँ नहीं दी जाती हैं, तो बाइट्स मान ली जाती हैं। पहला कॉलम एक पूर्णांक होना चाहिए
जाँच करने के लिए बाइट्स की संख्या का प्रतिनिधित्व करना।

आम तौर पर, यदि लौटाए गए मान हैं तो एक अलर्ट चालू हो जाता है अधिक से अधिक से या equal के बराबर
महत्वपूर्ण या चेतावनी मूल्य। हालांकि, का एक विकल्प --उलटना अलर्ट ट्रिगर करेगा यदि
लौटाया गया मान है कम से या महत्वपूर्ण या चेतावनी मान के बराबर।

उदाहरण 1: चेतावनी दें कि यदि 100 पृष्ठों से अधिक के किसी भी संबंध का नाम "रेड" है, तो पृष्ठों की संख्या लिखिए
प्रदर्शन डेटा अनुभाग के अंदर।

check_postgres_custom_query --valtype=string -w "rad" --query=
"परिणाम के रूप में relname का चयन करें, पृष्ठ के रूप में pg_class से relpages जहां relpages> 100"

उदाहरण 2: यदि "foobar" फ़ंक्शन 5MB से अधिक की संख्या लौटाता है, तो एक आलोचनात्मक दें:

check_postgres_custom_query --critical='5MB'--valtype=size --query="Select foobar() AS परिणाम"

उदाहरण 2: चेतावनी दें कि फ़ंक्शन "स्नैज़ो" 42 से कम लौटाता है:

check_postgres_custom_query --critical=42 --query="चुनें snazzo() परिणाम के रूप में" --reverse

यदि आप एक उपयोगी custom_query के साथ आते हैं, तो इस प्रोग्राम में एक पैच भेजने पर विचार करें
इसे एक मानक क्रिया में बदलें जिसका उपयोग अन्य लोग कर सकें।

यह क्रिया अभी तक MRTG या साधारण आउटपुट का समर्थन नहीं करती है।

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

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

उदाहरण 1: चेतावनी दें कि यदि होस्ट फ़्लैग पर कोई डेटाबेस 1 टीबी से अधिक आकार का है, और अधिक होने पर महत्वपूर्ण है
1.1 टी.बी.

check_postgres_database_size --host=flagg --warning='1 TB' --critical='1.1 t'

उदाहरण 2: यदि पोर्ट 1 पर डेटाबेस टेंपलेट 5432 10 एमबी से अधिक है, तो एक महत्वपूर्ण दें।

check_postgres_database_size --port=5432 --include=template1 --warning='10MB' --critical='10MB'

उदाहरण 3: यदि उपयोगकर्ता 'टॉम' के स्वामित्व वाले होस्ट 'टार्डिस' पर कोई डेटाबेस समाप्त हो गया है तो चेतावनी दें
5 जीबी

check_postgres_database_size --host=tardis --includeuser=tom --warning='5 GB' --critical='10 GB'

MRTG आउटपुट के लिए, पहली पंक्ति में सबसे बड़े डेटाबेस के बाइट्स में आकार लौटाता है, और
चौथी पंक्ति पर डेटाबेस का नाम।

dbstats
("सिम्लिंक: check_postgres_dbstats") pg_stat_database दृश्य से जानकारी की रिपोर्ट करता है,
और इसे कैक्टि-फ्रेंडली तरीके से आउटपुट करता है। कोई अन्य आउटपुट समर्थित नहीं है, क्योंकि आउटपुट है
सूचनात्मक और खुद को अलर्ट के लिए उधार नहीं देता है, जैसे कि Nagios के साथ प्रयोग किया जाता है। यदि कोई विकल्प नहीं है
दिए गए हैं, सभी डेटाबेस लौटाए जाते हैं, प्रति पंक्ति एक। आप एक विशिष्ट डेटाबेस शामिल कर सकते हैं
"--include" विकल्प का उपयोग करके, या आप "--dbname" विकल्प का उपयोग कर सकते हैं।

प्रत्येक पंक्ति पर ग्यारह आइटम लौटाए जाते हैं, प्रारूप नाम में: मान, एकल द्वारा अलग किया जाता है
स्थान। आइटम हैं:

बैकेंड
इस डेटाबेस के लिए वर्तमान में चल रहे बैकएंड की संख्या।

करता है
इस डेटाबेस को बनाने या रीसेट करने के बाद से इसके लिए कमिट की कुल संख्या।

पुनरावर्तन
इस डेटाबेस के लिए रोलबैक की कुल संख्या जब से इसे बनाया या रीसेट किया गया था।

पढ़ना
डिस्क ब्लॉक की कुल संख्या पढ़ी जाती है।

हिट बफर हिट की कुल संख्या।

रिट लौटाई गई पंक्तियों की कुल संख्या।

लाना
लाई गई पंक्तियों की कुल संख्या.

ins सम्मिलित पंक्तियों की कुल संख्या।

अद्यतन पंक्तियों की कुल संख्या अद्यतन।

del हटाई गई पंक्तियों की कुल संख्या।

dbname
डेटाबेस का नाम।

ध्यान दें कि यदि पोस्टग्रेज़ संस्करण 0 है, तो रिट, फ़ेच, इन्स, अपडेट और डेल आइटम हमेशा 8.2 रहेंगे
या कम, क्योंकि वे आँकड़े उन संस्करणों में उपलब्ध नहीं थे।

यदि dbname तर्क दिया जाता है, तो सात अतिरिक्त आइटम लौटाए जाते हैं:

आईडीएक्सस्कैन
उपयोगकर्ता अनुक्रमणिका स्कैन की कुल संख्या।

idxtupread
लौटाई गई उपयोगकर्ता अनुक्रमणिका प्रविष्टियों की कुल संख्या.

idxtupfetch
साधारण उपयोगकर्ता अनुक्रमणिका स्कैन द्वारा प्राप्त पंक्तियों की कुल संख्या।

idxblksread
सभी उपयोगकर्ता अनुक्रमणिका के लिए डिस्क ब्लॉक की कुल संख्या पढ़ी जाती है।

आईडीएक्सब्लक्षित
सभी उपयोगकर्ता अनुक्रमणिका के लिए बफ़र हिट की कुल संख्या।

सेकस्कैन
सभी उपयोगकर्ता तालिकाओं के विरुद्ध अनुक्रमिक स्कैन की कुल संख्या।

सेक्टुप्रेड
सभी उपयोगकर्ता तालिकाओं से लौटाए गए टुपल्स की कुल संख्या।

उदाहरण 1: होस्ट "विलो" पर "उत्पाद" नामक डेटाबेस के लिए आँकड़े प्राप्त करें:

check_postgres_dbstats --dbhost विलो --dbname उत्पाद

लौटाया गया आउटपुट इस तरह होगा (सभी एक पंक्ति पर, लिपटे नहीं):

बैकएंड्स:82 कमिट्स:58374408 रोलबैक्स:1651 रीड:268435543 हिट:2920381758 idxscan:310931294 idxtupread:2777040927
idxtupfetch:1840241349 idxblksread:62860110 idxblkshit:1107812216 seqscan:5085305 seqtupread:5370500520
रिट: 0 प्राप्त करें: 0 इन्स: 0 अपडेट: 0 डेल: 0 डीबीनाम: विलो

अक्षम_ट्रिगर्स
("सिम्लिंक: check_postgres_disabled_triggers") अक्षम ट्रिगर की संख्या की जांच करता है
डेटाबेस के अंदर। NS --चेतावनी और --नाजुक विकल्प ऐसे ट्रिगर्स की संख्या हैं
पाया गया, और दोनों डिफ़ॉल्ट रूप से "1" पर हैं, क्योंकि सामान्य उपयोग में अक्षम ट्रिगर होना खतरनाक है
प्रतिस्पर्धा। यदि चेक किया जा रहा डेटाबेस 8.3 या उच्चतर है, तो चेक की संख्या के लिए है
ट्रिगर जो 'अक्षम' स्थिति में हैं (जैसा कि 'हमेशा' या 'प्रतिकृति' होने के विपरीत)। NS
आउटपुट तालिका का नाम और प्रत्येक अक्षम के लिए ट्रिगर का नाम दिखाएगा
ट्रिगर।

उदाहरण 1: सुनिश्चित करें कि कोई अक्षम ट्रिगर नहीं हैं

check_postgres_disabled_triggers

MRTG आउटपुट के लिए, पहली पंक्ति में अक्षम ट्रिगर की संख्या लौटाता है।

डिस्क में जगह
("सिम्लिंक: check_postgres_disk_space") उपलब्ध भौतिक डिस्क स्थान पर जाँच करता है जिसका उपयोग
पोस्टग्रेज। इस क्रिया के लिए आवश्यक है कि आपके पास निष्पादन योग्य "/बिन/डीएफ"रिपोर्ट करने के लिए उपलब्ध
डिस्क आकार पर, और इसे सुपरयूज़र के रूप में चलाने की भी आवश्यकता है, इसलिए यह इसकी जांच कर सकता है
data_directory Postgres के अंदर सेटिंग। NS --चेतावनी और --नाजुक विकल्प दिए गए हैं
या तो आकार या प्रतिशत या दोनों में। यदि आकार का उपयोग कर रहे हैं, तो मानक इकाई प्रकार हैं
अनुमत: बाइट्स, किलोबाइट्स, गीगाबाइट्स, मेगाबाइट्स, गीगाबाइट्स, टेराबाइट्स, या एक्साबाइट्स। प्रत्येक
केवल पहले अक्षर के लिए संक्षिप्त किया जा सकता है; कोई भी इकाई 'बाइट्स' को इंगित नहीं करती है। NS
डिफ़ॉल्ट मान '90%' और '95%' हैं।

यह आदेश सभी विभिन्न भौतिक डिस्क को निर्धारित करने के लिए निम्नलिखित चीजों की जांच करता है:
Postgres द्वारा उपयोग किया जा रहा है।

data_directory - वह डिस्क जिस पर मुख्य डेटा निर्देशिका चालू है।

लॉग इन डायरेक्टरी - वह डिस्क जिस पर लॉग फाइलें हैं।

वाल पट्टिका डायरेक्टरी - वह डिस्क जिस पर राइट-फ़ॉरवर्ड लॉग ऑन हैं (जैसे सिम्लिंक्ड pg_xlog)

टेबलस्पेस - प्रत्येक टेबलस्पेस जो एक अलग डिस्क पर है।

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

उदाहरण 1: सुनिश्चित करें कि पोर्ट 90 पर डेटाबेस के लिए कोई फ़ाइल सिस्टम 5432% से अधिक नहीं है।

check_postgres_disk_space --port=5432 --warning='90%' --critical='90%'

उदाहरण 2: जांचें कि /dev/sda से शुरू होने वाले सभी फाइल सिस्टम 10 जीबी से छोटे हैं और
11 जीबी (चेतावनी और महत्वपूर्ण)

check_postgres_disk_space --port=5432 --warning='10 GB' --critical='11 GB' --include="~^/dev/sda"

उदाहरण 4: सुनिश्चित करें कि कोई भी फाइल सिस्टम 50% से अधिक नहीं है और 15 जीबी से अधिक है

check_postgres_disk_space --critical='50% और 15 GB'

उदाहरण 5: यदि कोई फ़ाइल सिस्टम 70% से अधिक भरा हुआ है तो चेतावनी जारी करें or 1T . से अधिक है

check_postgres_disk_space --warning='1T or 75'

MRTG आउटपुट के लिए, पहली पंक्ति में फ़ाइल सिस्टम के बाइट्स में आकार लौटाता है, और
चौथी लाइन पर फाइल सिस्टम का नाम।

fsm_पृष्ठ
("सिम्लिंक: check_postgres_fsm_pages") जाँचता है कि क्लस्टर पोस्टग्रेज़ के कितने करीब है
मैक्स_एफएसएम_पेज स्थापना। यह क्रिया केवल 8.2 या उच्चतर के डेटाबेस के लिए काम करेगी, और यह
योगदान मॉड्यूल की आवश्यकता है pg_freespacemap स्थापित किया जाए। NS --चेतावनी और --नाजुक
विकल्पों को प्रतिशत के रूप में व्यक्त किया जाना चाहिए। फ्री-स्पेस-मैप में इस्तेमाल किए गए पेजों की संख्या
pg_freespacemap_relations दृश्य को देखकर और एक सूत्र चलाकर निर्धारित किया जाता है
वैक्यूम वर्बोज़ में फ्री-स्पेस-मैप पेजलॉट को आउटपुट करने के लिए उपयोग किए जाने वाले फॉर्मूले के आधार पर
आदेश। डिफ़ॉल्ट मान हैं 85% तक चेतावनी के लिए और 95% तक आलोचनात्मक के लिए।

उदाहरण 1: एक चेतावनी दें जब हमारे क्लस्टर ने फ्री-स्पेस पेजलॉट का 76% उपयोग कर लिया है,
डेटाबेस रॉबर्ट में स्थापित pg_freespacemap के साथ

check_postgres_fsm_pages --dbname=robert --warning="76%"

जबकि आपको उस डेटाबेस के नाम पर पास करने की आवश्यकता है जहां pg_freespacemap स्थापित है, आप
प्रति क्लस्टर केवल एक बार इस चेक को चलाने की आवश्यकता है। साथ ही, इस जानकारी की जाँच करने के लिए आवश्यक है
फ्री-स्पेस-मैप पर विशेष लॉक प्राप्त करना, इसलिए यह अनुशंसा की जाती है कि आप इसे न चलाएं
छोटे अंतराल के साथ जांचें।

MRTG आउटपुट के लिए, पहली पंक्ति पर फ्री-स्पेस-मैप का प्रतिशत और संख्या लौटाता है
वर्तमान में दूसरी पंक्ति में उपयोग किए जाने वाले पृष्ठों की संख्या।

fsm_संबंध
("सिम्लिंक: check_postgres_fsm_relations") जाँचता है कि क्लस्टर पोस्टग्रेज़ के कितने करीब है
max_fsm_relations स्थापना। यह क्रिया केवल 8.2 या उच्चतर के डेटाबेस के लिए काम करेगी, और
इसके लिए योगदान मॉड्यूल की आवश्यकता है pg_freespacemap स्थापित किया जाए। NS --चेतावनी और --नाजुक
विकल्पों को प्रतिशत के रूप में व्यक्त किया जाना चाहिए। मुक्त में प्रयुक्त संबंधों की संख्या-
अंतरिक्ष-मानचित्र pg_freespacemap_relations दृश्य में देखकर निर्धारित किया जाता है। डिफ़ॉल्ट
मान हैं 85% तक चेतावनी के लिए और 95% तक आलोचनात्मक के लिए।

उदाहरण 1: एक चेतावनी दें जब हमारे क्लस्टर ने फ्री-स्पेस संबंधों का 80% उपयोग कर लिया हो,
डेटाबेस डायलन में स्थापित pg_freespacemap के साथ

check_postgres_fsm_relations --dbname=dylan --warning="75%"

जबकि आपको उस डेटाबेस के नाम पर पास करने की आवश्यकता है जहां pg_freespacemap स्थापित है, आप
प्रति क्लस्टर केवल एक बार इस चेक को चलाने की आवश्यकता है। साथ ही, इस जानकारी की जाँच करने के लिए आवश्यक है
फ्री-स्पेस-मैप पर विशेष लॉक प्राप्त करना, इसलिए यह अनुशंसा की जाती है कि आप इसे न चलाएं
छोटे अंतराल के साथ जांचें।

एमआरटीजी आउटपुट के लिए, पहली पंक्ति पर फ्री-स्पेस-मैप का प्रतिशत देता है, की संख्या
संबंध वर्तमान में दूसरी पंक्ति पर उपयोग किए जाते हैं।

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

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

उदाहरण: चेतावनी दें कि होस्ट फ़्लैग पर कोई डेटाबेस हिट अनुपात में 90% से कम है, और महत्वपूर्ण यदि
80% से कम।

check_postgres_hitratio --host=flagg --warning='90%' --critical='80%'

MRTG आउटपुट के लिए, डेटाबेस का प्रतिशत सबसे छोटे हिट अनुपात के साथ देता है
पहली पंक्ति, और चौथी पंक्ति पर डेटाबेस का नाम।

हॉट_स्टैंडबाय_देरी
("सिम्लिंक: check_hot_standby_delay") की गणना करके स्ट्रीमिंग प्रतिकृति अंतराल की जाँच करता है
मास्टर सर्वर की वर्तमान xlog स्थिति और a . के रीप्ले स्थान के बीच डेल्टा
इससे जुड़ा गुलाम। स्लेव सर्वर हॉट_स्टैंडबाय (जैसे रीड ओनली) मोड में होना चाहिए,
इसलिए इस क्रिया का उपयोग करने के लिए न्यूनतम संस्करण पोस्टग्रेज 9.0 है। NS --चेतावनी और
--नाजुक विकल्प xlog स्थानों के बीच डेल्टा हैं। चूँकि ये मान बाइट हैं
वाल में ऑफसेट उन्हें आपके आवेदन की अपेक्षित लेनदेन मात्रा से मेल खाना चाहिए
झूठी सकारात्मक या नकारात्मक को रोकने के लिए।

पहले "--dbname", "--host" और "--port", आदि विकल्पों को मास्टर माना जाता है; NS
दूसरा दास का है।

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

आपको अल्पविराम से अलग करके डेटाबेस तक पहुंचने के बारे में जानकारी प्रदान करनी होगी
--dbhost और --dbport पैरामीटर की सूची, जैसे "--dbport=5432,5543"। नहीं दिया तो
कार्रवाई विफल हो जाती है।

उदाहरण 1: पोर्ट 5433 पर स्थानीय प्रतिकृति के साथ डेटाबेस को चेतावनी दें कि किसी भी xlog रीप्ले पर पीछे है
सब पर

check_hot_standby_delay --dbport=5432,5433 --warning='1'

उदाहरण 2: यदि अंतिम लेन-देन प्रतिकृति 1 प्राप्त करता है तो एक महत्वपूर्ण दें 10 . से अधिक है
कुछ मिनट पहले

check_hot_standby_delay --dbhost=master,replication1 --critical='10 min'

उदाहरण 3: यदि मास्टर पल-पल देख रहा है, तो रेप्लिका1 को 1 वाल सेगमेंट पीछे रहने दें
स्ट्रीमिंग प्रतिकृति कनेक्शन से अधिक गतिविधि संभाल सकती है, या 10 मिनट पीछे,
यदि मास्टर बहुत कम गतिविधि देख रहा है और किसी भी लेनदेन को संसाधित नहीं कर रहा है, लेकिन नहीं
दोनों, जो प्रतिकृति कनेक्शन के साथ एक स्थायी समस्या का संकेत देगा।

check_hot_standby_delay --dbhost=master,replication1 --warning='1048576 और 2 min' --critical='16777216 and 10 min'

अनुक्रमणिका_आकार
तालिका_आकार
संबंध_आकार
(सिम्लिंक: "check_postgres_index_size", "check_postgres_table_size", और
"check_postgres_relation_size") क्रियाएँ तालिका_आकार और अनुक्रमणिका_आकार बस हैं
की विविधताएं संबंध_आकार क्रिया, जो एक ऐसे संबंध की जाँच करती है जो बहुत बड़ा हो गया है
बड़े। संबंधों (दूसरे शब्दों में, टेबल और इंडेक्स) के साथ फ़िल्टर किया जा सकता है --शामिल
और --निकालना विकल्प। अधिक विवरण के लिए "बेसिक फ़िल्टरिंग" अनुभाग देखें। संबंध कर सकते हैं
उनका उपयोग करने वाले उपयोगकर्ता द्वारा भी फ़िल्टर किया जा सकता है --शामिल उपयोगकर्ता और --बहिष्कृत उपयोगकर्ता
विकल्प। अधिक विवरण के लिए "उपयोगकर्ता नाम फ़िल्टरिंग" अनुभाग देखें।

के लिए मान --चेतावनी और --नाजुक विकल्प फ़ाइल आकार हैं, और इसकी इकाइयाँ हो सकती हैं
बाइट्स, किलोबाइट्स, मेगाबाइट्स, गीगाबाइट्स, टेराबाइट्स, या एक्साबाइट्स। प्रत्येक को संक्षिप्त किया जा सकता है
पहले अक्षर को। यदि कोई इकाइयाँ नहीं दी जाती हैं, तो बाइट्स मान ली जाती हैं। कोई डिफ़ॉल्ट नहीं हैं
मान: चेतावनी और महत्वपूर्ण विकल्प दोनों दिए जाने चाहिए। वापसी पाठ दिखाता है
सबसे बड़े संबंध का आकार पाया गया।

अगर --शोपरफ विकल्प सक्षम है, सब उनके आकार के साथ संबंधों का विवरण दिया जाएगा।
इसे रोकने के लिए, यह अनुशंसा की जाती है कि आप इसे सेट करें --perflimit विकल्प, जो कारण होगा
"आदेश द्वारा आकार DESC LIMIT (perflimit)" करने के लिए क्वेरी।

उदाहरण 1: यदि कोई तालिका होस्ट बरिक पर 600एमबी से बड़ी है तो एक क्रिटिकल दें।

check_postgres_table_size --critical='600 MB' --warning='600 MB' --host=burrick

उदाहरण 2: चेतावनी दें कि टेबल उत्पाद आकार में 4 जीबी से अधिक हैं, और 4.5 जीबी पर एक महत्वपूर्ण दें।

check_postgres_table_size --host=burrick --warning='4 GB' --critical='4.5 GB' --include=products

उदाहरण 3: चेतावनी दें कि अगर कोई इंडेक्स पोस्टग्रेज के स्वामित्व में नहीं है तो 500 एमबी से अधिक हो जाता है।

check_postgres_index_size --port=5432 --excludeuser=postgres -w 500एमबी -सी 600एमबी

MRTG आउटपुट के लिए, सबसे बड़े रिलेशन के बाइट्स में आकार लौटाता है, और का नाम देता है
डेटाबेस और संबंध चौथी पंक्ति के रूप में।

अंतिम_विश्लेषण
अंतिम_वैक्यूम
अंतिम_स्वतःविश्लेषण
अंतिम_ऑटोवैक्यूम
(सिम्लिंक: "check_postgres_last_analyze", "check_postgres_last_vacuum",
"check_postgres_last_autoanalyze", और "check_postgres_last_autovacuum") जाँचता है कि कब तक
यह तब से है जब एक या अधिक डेटाबेस में प्रत्येक टेबल पर वैक्यूम (या विश्लेषण) अंतिम बार चलाया गया था।
इन क्रियाओं के उपयोग के लिए आवश्यक है कि लक्ष्य डेटाबेस संस्करण 8.3 या उससे अधिक हो, या वह
संस्करण 8.2 है और विन्यास चर आँकड़े_पंक्ति_स्तर सक्षम किया गया है। टेबल
के साथ फ़िल्टर किया जा सकता है --शामिल और --निकालना विकल्प। "बेसिक फ़िल्टरिंग" देखें
अधिक जानकारी के लिए अनुभाग। तालिकाओं को उनके स्वामी द्वारा के उपयोग द्वारा भी फ़िल्टर किया जा सकता है
--शामिल उपयोगकर्ता और --बहिष्कृत उपयोगकर्ता विकल्प। अधिक के लिए "उपयोगकर्ता नाम फ़िल्टरिंग" अनुभाग देखें
विवरण।

इकाइयों के लिए --चेतावनी और --नाजुक समय के रूप में निर्दिष्ट हैं। वैध इकाइयां सेकंड हैं,
मिनट, घंटे और दिन; सभी को पहले अक्षर के लिए संक्षिप्त किया जा सकता है। यदि कोई इकाई नहीं है
दिया गया है, 'सेकंड' मान लिया गया है। डिफ़ॉल्ट मान '1 दिन' और '2 दिन' हैं। कृपया ध्यान दें
कि ऐसे मामले हैं जिनमें यह फ़ील्ड स्वचालित रूप से पॉप्युलेट नहीं होता है। अगर निश्चित
टेबल आपको समस्या दे रहे हैं, सुनिश्चित करें कि उनके पास वैक्यूम करने के लिए मृत पंक्तियाँ हैं, या बस
उन्हें परीक्षा से बाहर कर दें।

'information_schema' नाम की स्कीमा को इस परीक्षण से बाहर रखा गया है, क्योंकि यह एकमात्र टेबल है
इसमें छोटे होते हैं और बदलते नहीं हैं।

ध्यान दें कि गैर-'ऑटो' संस्करण ऑटो संस्करणों पर भी जांच करेंगे। अन्य में
शब्द, last_vacuum का उपयोग करके अंतिम निर्वात पर रिपोर्ट करेंगे, चाहे वह एक सामान्य निर्वात था,
या एक ऑटोवैक्यूम डेमॉन द्वारा चलाया जाता है।

उदाहरण 1: चेतावनी दें कि यदि कोई टेबल 3 दिनों में वैक्यूम नहीं किया गया है, और एक क्रिटिकल दें a
सप्ताह, मेजबान वर्मवुड के लिए

check_postgres_last_vacuum --host=wormwood --warning='3d' --critical='7d'

उदाहरण 2: ऊपर जैसा ही है, लेकिन उपयोगकर्ता 'ईव' या 'मैलोरी' से संबंधित तालिकाओं को छोड़ दें

check_postgres_last_vacuum --host=wormwood --warning='3d' --critical='7d' --excludeusers=eve, mallory

MRTG आउटपुट के लिए, a . के बाद से सेकंड में कम से कम समय (पहली पंक्ति पर) देता है
तालिका को अंतिम बार वैक्यूम या विश्लेषण किया गया था। चौथी पंक्ति डेटाबेस का नाम लौटाती है और
तालिका का नाम।

श्रोता
("सिम्लिंक: check_postgres_listener") पुष्टि करें कि कोई व्यक्ति एक या अधिक के लिए सुन रहा है
pg_listener तालिका को देखकर विशिष्ट स्ट्रिंग्स (LISTEN/NOTIFY सिस्टम का उपयोग करके)।
केवल एक चेतावनी या आलोचनात्मक की जरूरत है। प्रारूप एक साधारण स्ट्रिंग है जो का प्रतिनिधित्व करता है
एक नियमित अभिव्यक्ति जांच के लिए एक स्ट्रिंग के बाद लक्ष्य, या एक टिल्ड वर्ण सुनें।
ध्यान दें कि यह चेक पोस्टग्रेज 9.0 या उच्चतर के संस्करणों पर काम नहीं करेगा।

उदाहरण 1: अगर कोई पोर्ट पर स्ट्रिंग bucardo_mcp_ping को नहीं सुन रहा है, तो चेतावनी दें
5555 और 5556

check_postgres_listener --port=5555,5556 --चेतावनी=bucardo_mcp_ping

उदाहरण 2: यदि 'ग्रिम' से मेल खाने वाले कोई सक्रिय LISTEN अनुरोध नहीं हैं, तो एक आलोचनात्मक दें
डेटाबेस ऑस्कर

check_postgres_listener --db ऑस्कर --critical=~grimm

MRTG आउटपुट के लिए, सफलता या विफलता का संकेत देते हुए, पहले पर 1 या 0 देता है। नाम
नोटिस के माध्यम से प्रदान किया जाना चाहिए --mrtg विकल्प.

ताले
("सिम्लिंक: check_postgres_locks") एक या अधिक पर ताले की कुल संख्या की जाँच करें
डेटाबेस। इसे प्रति डेटाबेस क्लस्टर में एक से अधिक बार चलाने की आवश्यकता नहीं है। डेटाबेस कर सकते हैं
के साथ फ़िल्टर किया जा सकता है --शामिल और --निकालना विकल्प। "बेसिक फ़िल्टरिंग" अनुभाग देखें
अधिक जानकारी के लिए.

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

उदाहरण 1: यदि तालों की संख्या 100 या अधिक है तो चेतावनी दें, और यदि 200 या अधिक हो तो महत्वपूर्ण है, पर
मेजबान गैरेट

check_postgres_locks --host=garrett --चेतावनी=100 --महत्वपूर्ण=200

उदाहरण 2: मेजबान आर्टेमस पर, चेतावनी दें कि क्या 200 या अधिक ताले मौजूद हैं, और एक महत्वपूर्ण दें if
250 से अधिक कुल ताले मौजूद हैं, या यदि 20 से अधिक अनन्य ताले मौजूद हैं, या यदि 5 से अधिक कनेक्शन हैं
ताला का इंतजार कर रहे हैं।

check_postgres_locks --host=artemus --warning=200 --critical="total=250: Waiting=5:exclusive=20"

MRTG आउटपुट के लिए, पहली पंक्ति पर ताले की संख्या और का नाम देता है
चौथी पंक्ति पर डेटाबेस।

लॉग फ़ाइल
("सिम्लिंक: check_postgres_logfile") सुनिश्चित करता है कि लॉगफाइल अपेक्षित स्थान पर है
और लॉग इन किया जा रहा है। यह क्रिया एक आदेश जारी करती है जो प्रत्येक पर एक त्रुटि फेंकता है
डेटाबेस यह जाँच कर रहा है, और यह सुनिश्चित करता है कि संदेश लॉग में दिखाई दे। यह स्कैन करता है
पोस्टग्रेज के अंदर विभिन्न लॉग_* सेटिंग्स यह पता लगाने के लिए कि लॉग कहां होना चाहिए। अगर तुम
syslog का उपयोग कर रहे हैं, यह एक मोटा (लेकिन फुलप्रूफ नहीं) स्कैन करता है /etc/syslog.conf.
वैकल्पिक रूप से, आप इसके साथ लॉगफाइल का नाम प्रदान कर सकते हैं --बोटा दस्तावेज विकल्प। यह है
विशेष रूप से उपयोगी अगर लॉग में एक कस्टम रोटेशन योजना है जो बाहरी प्रोग्राम हो।
RSI --बोटा दस्तावेज विकल्प निम्नलिखित एस्केप वर्णों का समर्थन करता है: "%Y %m %d %H", जो
क्रमशः वर्तमान वर्ष, माह, तिथि और घंटे का प्रतिनिधित्व करते हैं। त्रुटि हमेशा होती है
जब तक चेतावनी विकल्प को गैर-शून्य मान के रूप में पारित नहीं किया जाता है, तब तक महत्वपूर्ण के रूप में रिपोर्ट किया जाता है।
उस विशिष्ट उपयोग के अलावा, "--चेतावनी" और "--महत्वपूर्ण" विकल्प होना चाहिए नहीं be
उपयोग किया गया।

उदाहरण 1: पोर्ट 5432 पर, सुनिश्चित करें कि लॉगफ़ाइल फ़ाइल में लिखी जा रही है
/होम/ग्रेग/pg8.2.log

check_postgres_logfile --port=5432 --logfile=/home/greg/pg8.2.log

उदाहरण 2: ऊपर जैसा ही है, लेकिन चेतावनी दें, आलोचनात्मक नहीं

check_postgres_logfile --port=5432 --logfile=/home/greg/pg8.2.log -w 1

MRTG आउटपुट के लिए, पहली पंक्ति पर 1 या 0 देता है, जो सफलता या विफलता का संकेत देता है। में
विफलता के मामले में, चौथी पंक्ति में हुई विफलता के बारे में अधिक विवरण प्रदान किया जाएगा।

new_version_bc
("सिम्लिंक: check_postgres_new_version_bc") जाँचता है कि क्या बुकार्डो का कोई नया संस्करण है
कार्यक्रम उपलब्ध है। वर्तमान संस्करण "bucardo_ctl --version" चलाकर प्राप्त किया जाता है।
यदि कोई बड़ा अपग्रेड उपलब्ध है, तो एक चेतावनी वापस कर दी जाती है। यदि एक संशोधन उन्नयन है
उपलब्ध है, एक महत्वपूर्ण वापस कर दिया गया है। (बुकार्डो दास के लिए गुरु है, और गुरु से स्वामी है
पोस्टग्रेज के लिए प्रतिकृति प्रणाली: देखें http://bucardo.org अधिक जानकारी के लिए)। यह सभी देखें
"--get_method" विकल्प पर जानकारी।

नया_संस्करण_बॉक्स
("सिम्लिंक: check_postgres_new_version_box") जाँचता है कि क्या बॉक्सइन्फो का कोई नया संस्करण है
कार्यक्रम उपलब्ध है। वर्तमान संस्करण "boxinfo.pl --version" चलाकर प्राप्त किया जाता है।
यदि कोई बड़ा अपग्रेड उपलब्ध है, तो एक चेतावनी वापस कर दी जाती है। यदि एक संशोधन उन्नयन है
उपलब्ध है, एक महत्वपूर्ण वापस कर दिया गया है। (बॉक्सइन्फो महत्वपूर्ण हथियाने का एक कार्यक्रम है
एक सर्वर से जानकारी और इसे एक HTML प्रारूप में डालना: देखें
http://bucardo.org/wiki/boxinfo अधिक जानकारी के लिए)। पर जानकारी भी देखें
"--get_method" विकल्प।

नया_संस्करण_सीपी
("सिम्लिंक: check_postgres_new_version_cp") जाँचता है कि क्या इस प्रोग्राम का कोई नया संस्करण है
(check_postgres) मुख्य पर एक छोटी टेक्स्ट फ़ाइल से संस्करण को हथियाने के द्वारा उपलब्ध है
परियोजना के लिए मुख पृष्ठ का पृष्ठ। यदि लौटा हुआ संस्करण नहीं है तो चेतावनी देता है
आप जो चला रहे हैं उससे मेल करें। जाँच के लिए अनुशंसित अंतराल दिन में एक बार है। यह भी देखें
"--get_method" विकल्प पर जानकारी।

new_version_pg
("सिम्लिंक: check_postgres_new_version_pg") जाँचता है कि पोस्टग्रेज़ का कोई नया संशोधन मौजूद है या नहीं
से जुड़े प्रत्येक डेटाबेस के लिए। ध्यान दें कि यह केवल संशोधन के लिए जाँच करता है, उदाहरण के लिए से जा रहा है
8.3.6 से 8.3.7. संशोधन हमेशा 100% बाइनरी संगत होते हैं और इसमें कोई डंप शामिल नहीं होता है और
अपग्रेड करने के लिए पुनर्स्थापित करें। बग को दूर करने के लिए संशोधन किए गए हैं, इसलिए जितनी जल्दी हो सके अपग्रेड करें
हमेशा अनुशंसा की जाती है। यदि आपके पास नवीनतम संशोधन नहीं है तो एक चेतावनी देता है। यह है
अनुशंसा की जाती है कि यह चेक दिन में कम से कम एक बार चलाया जाए। पर जानकारी भी देखें
"--get_method" विकल्प।

new_version_tnm
("सिम्लिंक: check_postgres_new_version_tnm") जाँचता है कि क्या tail_n_mail का कोई नया संस्करण है
कार्यक्रम उपलब्ध है। वर्तमान संस्करण "tail_n_mail --version" चलाकर प्राप्त किया जाता है।
यदि कोई बड़ा अपग्रेड उपलब्ध है, तो एक चेतावनी वापस कर दी जाती है। यदि एक संशोधन उन्नयन है
उपलब्ध है, एक महत्वपूर्ण वापस कर दिया गया है। (tail_n_mail एक लॉग मॉनिटरिंग टूल है जो भेज सकता है
मेल जब दिलचस्प घटनाएँ आपके पोस्टग्रेज़ लॉग में दिखाई दें। देखो:
http://bucardo.org/wiki/Tail_n_mail अधिक जानकारी के लिए)। इसकी जानकारी भी देखें
"--get_method" विकल्प।

pgb_pool_cl_active
pgb_pool_cl_वेटिंग
pgb_pool_sv_active
pgb_pool_sv_idle
pgb_pool_sv_प्रयुक्त
pgb_pool_sv_tested
pgb_pool_sv_login
pgb_pool_maxwait
(सिम्लिंक: "check_postgres_pgb_pool_cl_active", "check_postgres_pgb_pool_cl_waiting",
"check_postgres_pgb_pool_sv_active", "check_postgres_pgb_pool_sv_idle",
"check_postgres_pgb_pool_sv_used", "check_postgres_pgb_pool_sv_tested",
"check_postgres_pgb_pool_sv_login", और "check_postgres_pgb_pool_maxwait")

pgbouncer के पूल आँकड़ों की जाँच करता है। प्रत्येक पूल में "क्लाइंट" कनेक्शन का एक सेट होता है,
बाहरी क्लाइंट से कनेक्शन का जिक्र करते हुए, और "सर्वर" कनेक्शन का जिक्र करते हुए
PostgreSQL से ही कनेक्शन। संबंधित check_postgres कार्रवाइयाँ "cl_" से पहले लगी होती हैं
और "sv_", क्रमशः। सक्रिय क्लाइंट कनेक्शन वे कनेक्शन हैं जो वर्तमान में जुड़े हुए हैं
एक सक्रिय सर्वर कनेक्शन के साथ। क्लाइंट कनेक्शन "प्रतीक्षा" भी हो सकते हैं, जिसका अर्थ है कि वे
अभी तक सर्वर कनेक्शन आवंटित नहीं किया गया है। सर्वर कनेक्शन "सक्रिय" हैं (जुड़े हुए
एक ग्राहक के लिए), "निष्क्रिय" (एक ग्राहक कनेक्शन के साथ लिंक करने के लिए खड़ा है), "इस्तेमाल किया" (जस्ट
क्लाइंट से अनलिंक किया गया है, और अभी तक निष्क्रिय पूल में वापस नहीं आया है), "परीक्षण" (वर्तमान में किया जा रहा है)
परीक्षण किया गया) और "लॉगिन" (लॉग इन करने की प्रक्रिया में)। अधिकतम प्रतीक्षा मान दिखाता है कि कितने समय में
सेकंड सबसे पुराना प्रतीक्षारत ग्राहक कनेक्शन प्रतीक्षा कर रहा है।

pgbouncer_backends
("सिम्लिंक: check_postgres_pgbouncer_backends") कनेक्शन की वर्तमान संख्या की जाँच करता है
pgbouncer के माध्यम से एक या अधिक डेटाबेस के लिए, और वैकल्पिक रूप से इसकी तुलना अधिकतम से करता है
अनुमति है, जो pgbouncer कॉन्फ़िगरेशन चर द्वारा निर्धारित की जाती है max_client_conn
--चेतावनी और --नाजुक विकल्प तीन रूपों में से एक ले सकते हैं। सबसे पहले, एक साधारण संख्या कर सकते हैं
दिया जाना चाहिए, जो उन कनेक्शनों की संख्या को दर्शाता है जिन पर अलर्ट दिया जाएगा।
यह विकल्प उपयोग नहीं करता है max_connections स्थापना। दूसरा, उपलब्ध का प्रतिशत
कनेक्शन दिए जा सकते हैं। तीसरा, एक ऋणात्मक संख्या दी जा सकती है जो का प्रतिनिधित्व करती है
शेष कनेक्शनों की संख्या max_connections पहुंच गया। के लिए डिफ़ॉल्ट मान
--चेतावनी और --नाजुक '90%' और '95%' हैं। आप का उपयोग करके डेटाबेस को फ़िल्टर भी कर सकते हैं
la --शामिल और --निकालना विकल्प। अधिक विवरण के लिए "बेसिक फ़िल्टरिंग" अनुभाग देखें।

केवल गैर-निष्क्रिय प्रक्रियाओं को देखने के लिए, आप इसका उपयोग कर सकते हैं --नोइडल तर्क। ध्यान दें कि उपयोगकर्ता आप
ठीक से काम करने के लिए एक सुपरयुसर के रूप में कनेक्ट हो रहे हैं।

उदाहरण 1: जब होस्ट quirm पर कनेक्शनों की संख्या 120 तक पहुँच जाए, और a
गंभीर अगर यह 150 तक पहुंच जाता है।

check_postgres_pgbouncer_backends --host=quirm --warning=120 --critical=150 -p 6432 -u pgbouncer

उदाहरण 2: जब हम मेजबानों पर अपनी अधिकतम_कनेक्शन सेटिंग के 75% तक पहुंच जाते हैं, तो एक आलोचनात्मक दें
lancre या lancre2.

check_postgres_pgbouncer_backends --warning='75%' --critical='75%' --host=lancre,lancre2 -p 6432 -u pgbouncer

उदाहरण 3: जब होस्ट पर केवल 10 और कनेक्शन स्लॉट बचे हों तो चेतावनी दें
प्लास्मिड, और एक महत्वपूर्ण जब हमारे पास केवल 5 शेष हैं।

check_postgres_pgbouncer_backends --warning=-10 --critical=-5 --host=plasmid -p 6432 -u pgbouncer

MRTG आउटपुट के लिए, पहली पंक्ति में कनेक्शन की संख्या की सूचना दी जाती है, और चौथे पर
लाइन डेटाबेस का नाम देती है, साथ ही वर्तमान max_client_conn. यदि एक से अधिक
डेटाबेस से पूछताछ की गई है, सबसे अधिक कनेक्शन वाला आउटपुट आउटपुट है।

pgbouncer_checksum
("सिम्लिंक: check_postgres_pgbouncer_checksum") जाँचता है कि सभी pgBouncer सेटिंग्स हैं
पिछली बार की तरह ही आपने चेक किया था। यह एक क्रमबद्ध सूची का चेकसम उत्पन्न करके किया जाता है
नाम और उनके मूल्य निर्धारित करने के लिए। ध्यान दें कि आपको डेटाबेस का नाम निर्दिष्ट नहीं करना चाहिए, यह
स्वचालित रूप से pgbouncer के लिए डिफ़ॉल्ट हो जाएगा। या तो --चेतावनी या --नाजुक विकल्प
दिया जाना चाहिए, लेकिन दोनों नहीं। प्रत्येक का मूल्य चेकसम है, एक 32-वर्ण
हेक्साडेसिमल मान। आप पता लगाने के लिए विशेष "--critical=0" विकल्प के साथ दौड़ सकते हैं
मौजूदा चेकसम।

इस क्रिया के लिए Digest::MD5 मॉड्यूल की आवश्यकता है।

उदाहरण 1: पोर्ट 6432 पर pgbouncer कॉन्फ़िगरेशन के लिए प्रारंभिक चेकसम का पता लगाएं
डिफ़ॉल्ट उपयोगकर्ता (आमतौर पर पोस्टग्रेज)

check_postgres_pgbouncer_checksum --port=6432 --critical=0

उदाहरण 2: सुनिश्चित करें कि कोई सेटिंग नहीं बदली है और यदि ऐसा है तो चेकसम का उपयोग करके चेतावनी दें
ऊपर।

check_postgres_pgbouncer_checksum --port=6432 --warning=cd2f3b5e129dc2b4f5c0f6d8d2e64231

MRTG आउटपुट के लिए, 1 या 0 देता है जो चेकसम के मिलान में विफलता की सफलता का संकेत देता है।
एक चेकसम "--mrtg" तर्क के रूप में प्रदान किया जाना चाहिए। चौथी पंक्ति हमेशा देती है
वर्तमान चेकसम।

pgagent_jobs
("सिम्लिंक: check_postgres_pgagent_jobs") जाँचता है कि सभी pgAgent नौकरियां जिनके पास है
समय के पूर्ववर्ती अंतराल में निष्पादित सफल रहे हैं। यह जाँच करके किया जाता है
कोई भी चरण जिसका परिणाम शून्य नहीं है।

या तो "--चेतावनी" या "--महत्वपूर्ण", या दोनों, समय के रूप में निर्दिष्ट किए जा सकते हैं, और नौकरियां होंगी
वर्तमान समय से पहले निर्दिष्ट अवधि के भीतर विफलताओं के लिए जाँच की गई। वैध
इकाइयाँ सेकंड, मिनट, घंटे और दिन हैं; सभी को पहले अक्षर के लिए संक्षिप्त किया जा सकता है।
यदि कोई इकाई नहीं दी जाती है, तो 'सेकंड' मान लिया जाता है।

उदाहरण 1: जब अंतिम दिन में निष्पादित कोई भी कार्य विफल हो जाए तो एक आलोचनात्मक टिप्पणी दें।

check_postgres_pgagent_jobs --critical=1d

उदाहरण 2: पिछले सप्ताह में निष्पादित कोई भी कार्य विफल होने पर चेतावनी दें।

check_postgres_pgagent_jobs --चेतावनी=7 दिन

उदाहरण 3: पिछले 2 घंटों में विफल हुई नौकरियों के लिए एक आलोचनात्मक और चेतावनी दें
नौकरियां जो पिछले 4 घंटों में विफल रही हैं:

check_postgres_pgagent_jobs --महत्वपूर्ण=2घंटा --चेतावनी=4घंटा

तैयार_टीएक्सएनएस
("सिम्लिंक: check_postgres_prepared_txns") किसी भी मौजूदा तैयार की उम्र की जाँच करें
लेनदेन। ध्यान दें कि अधिकांश लोग तैयार लेनदेन का उपयोग नहीं करेंगे, क्योंकि वे भाग हैं
दो-भाग की प्रतिबद्धता और बनाए रखने के लिए जटिल। उन्हें भी भ्रमित नहीं होना चाहिए
तैयार विवरण, जो कि अधिकांश लोग तैयारी सुनते समय सोचते हैं। NS
तैयार लेनदेन के किसी भी उपयोग का पता लगाने के लिए चेतावनी के लिए डिफ़ॉल्ट मान 1 सेकंड है, जो
शायद अधिकांश प्रणालियों पर एक गलती है। चेतावनी और महत्वपूर्ण सेकंड की संख्या हैं a
अलर्ट दिए जाने से पहले तैयार लेनदेन खुला है।

उदाहरण 1: किसी भी तैयार लेनदेन का पता लगाने पर चेतावनी दें:

check_postgres_prepared_txns -w 0

उदाहरण 2: यदि कोई तैयार लेनदेन 10 . से अधिक समय से खुला है तो एक आलोचनात्मक दें
सेकंड, लेकिन डेटाबेस 'shrike' के लिए 360 सेकंड तक की अनुमति दें:

check_postgres_prepared_txns --critical=10 --बहिष्कृत=श्राके
check_postgres_prepared_txns --critical=360 --include=shike

MRTG आउटपुट के लिए, सेकंड की संख्या लौटाता है जो सबसे पुराना लेन-देन खुला है
पहली पंक्ति, और कौन सा डेटाबेस अंतिम पंक्ति के रूप में आया है।

query_runtime
("सिम्लिंक: check_postgres_query_runtime") जाँचता है कि किसी विशिष्ट क्वेरी को चलने में कितना समय लगता है,
इसके खिलाफ "व्याख्या विश्लेषण" निष्पादित करके। NS --चेतावनी और --नाजुक विकल्प हैं
क्वेरी में लगने वाला अधिकतम समय। मान्य इकाइयाँ सेकंड, मिनट और घंटे हैं;
किसी भी पहले अक्षर को संक्षिप्त किया जा सकता है। यदि कोई इकाई नहीं दी जाती है, तो 'सेकंड' मान लिया जाता है।
चेतावनी और महत्वपूर्ण विकल्प दोनों दिए जाने चाहिए। दृश्य या कार्य का नाम
चलाने के लिए में पारित किया जाना चाहिए --क्वेरीनाम विकल्प। इसमें एक ही शब्द होना चाहिए
(या schema.word), अंत में वैकल्पिक माता-पिता के साथ।

उदाहरण 1: यदि "स्पीडटेस्ट" नाम का फंक्शन 10 सेकंड में चलने में विफल रहता है या
कम से।

check_postgres_query_runtime --queryname=' speedtest ()' --critical=10 --warning=10

एमआरटीजी आउटपुट के लिए, पहली पंक्ति में क्वेरी को पूरा करने के लिए सेकंड में समय की रिपोर्ट करता है।
चौथी पंक्ति डेटाबेस को सूचीबद्ध करती है।

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

के लिए मान --चेतावनी और --नाजुक विकल्प समय की मात्रा हैं, और डिफ़ॉल्ट रूप से '2
मिनट' और '5 मिनट' क्रमशः। मान्य इकाइयाँ 'सेकंड', 'मिनट', 'घंटे', या . हैं
'दिन'। प्रत्येक को एकवचन या संक्षिप्त रूप में केवल पहले अक्षर के रूप में लिखा जा सकता है। यदि कोई इकाई नहीं
दिए गए हैं, तो इकाई को सेकंड माना जाता है।

इस क्रिया के लिए पोस्टग्रेज 8.1 या इससे बेहतर की आवश्यकता है।

उदाहरण 1: यदि कोई प्रश्न 3 मिनट से अधिक समय से चल रहा हो तो चेतावनी दें, और a
5 मिनट से अधिक समय तक महत्वपूर्ण।

check_postgres_query_time --port=5432 --warning='3 min' --critical='5 min'

उदाहरण 2: डिफ़ॉल्ट मानों (2 और 5 मिनट) का उपयोग करते हुए, उन्हें छोड़कर सभी डेटाबेस की जाँच करें
'टेम्पलेट' से शुरू।

check_postgres_query_time --पोर्ट=5432 --बहिष्कृत=~^टेम्पलेट

उदाहरण 3: यदि उपयोगकर्ता 'डॉन' के पास 20 सेकंड से अधिक समय तक चलने वाली कोई क्वेरी है तो चेतावनी दें

check_postgres_query_time --पोर्ट=5432 --includeuser=don --warning=20s

MRTG आउटपुट के लिए, पहले पर सबसे लंबे समय तक चलने वाली क्वेरी के सेकंड में लंबाई लौटाता है
रेखा। चौथी पंक्ति डेटाबेस का नाम देती है।

प्रतिकृति_पंक्ति
("सिम्लिंक: check_postgres_replicate_row") जाँचता है कि मास्टर-स्लेव प्रतिकृति काम कर रही है
एक या अधिक दासों के लिए।

पहले "--dbname", "--host" और "--port", आदि विकल्पों को मास्टर माना जाता है;
बाद के उपयोग गुलाम हैं। मान या --चेतावनी और --नाजुक विकल्प हैं
समय की इकाइयाँ, और कम से कम एक प्रदान की जानी चाहिए (कोई चूक नहीं)। मान्य इकाइयाँ 'सेकंड' हैं,
'मिनट', 'घंटे' या 'दिन'। प्रत्येक को एकवचन या संक्षिप्त रूप में सिर्फ लिखा जा सकता है
प्रथम अक्षर। यदि कोई इकाई नहीं दी जाती है, तो इकाइयों को सेकंड माना जाता है।

यह चेक मास्टर पर एक पंक्ति को अपडेट करता है, और फिर मापता है कि इसे होने में कितना समय लगता है
दासों पर लागू होता है। ऐसा करने के लिए, आपको एक तालिका चुननी होगी जिसे दोहराया जा रहा है, फिर
एक पंक्ति खोजें जिसे बदला जा सकता है, और किसी अन्य प्रक्रिया द्वारा बदला नहीं जा रहा है। ए
इस पंक्ति के विशिष्ट कॉलम को एक मान से दूसरे मान में बदल दिया जाएगा। यह सब खिलाया जाता है
"repinfo" विकल्प में, और अल्पविराम द्वारा अलग किए गए निम्नलिखित विकल्प होने चाहिए:
तालिका का नाम, प्राथमिक कुंजी, कुंजी आईडी, कॉलम, पहला मान, दूसरा मान।

उदाहरण 1: स्लोनी मेजबान 'अल्फा' से 'बीटा' होस्ट करने के लिए 'ऑर्डर' नाम की एक तालिका की नकल कर रहा है,
डेटाबेस 'बिक्री' में। तालिका की प्राथमिक कुंजी को id नाम दिया गया है, और हम जा रहे हैं
3 की आईडी के साथ पंक्ति का परीक्षण करें (जो ऐतिहासिक है और कभी नहीं बदला)। एक कॉलम है
'सेल्सरेप' नाम दिया गया है जिसे हम चेक करने के लिए 'स्लॉन' के मान से 'नोल्स' तक टॉगल करने जा रहे हैं
प्रतिकृति। यदि 10 . के भीतर प्रतिकृति नहीं होती है तो हम एक चेतावनी देना चाहते हैं
सेकंड.

चेक_पोस्टग्रेस_रेप्लिकेट_रो --होस्ट=अल्फा --डीबीनाम=बिक्री --होस्ट=बीटा
--dbname=बिक्री --चेतावनी=10 --repinfo=आदेश,आईडी,3,बिक्री प्रतिनिधि,slon,nols

उदाहरण 2: बुकार्डो 'रसीद' नाम की एक तालिका को होस्ट 'ग्रीन' से होस्ट करने के लिए दोहरा रहा है
'लाल', 'नीला' और 'पीला'। दोनों पक्षों का डेटाबेस 'सार्वजनिक' है। दास डेटाबेस
पोर्ट 5455 पर चल रहे हैं। प्राथमिक कुंजी का नाम 'रसीद_आईडी' है, जिस पंक्ति का हम उपयोग करना चाहते हैं
9 का मान है, और जिस कॉलम को हम परीक्षण के लिए बदलना चाहते हैं उसे 'ज़ोन' कहा जाता है। कुंआ
इस कॉलम के मान के लिए 'उत्तर' और 'दक्षिण' के बीच टॉगल करें, और एक महत्वपूर्ण अगर
परिवर्तन 5 सेकंड के भीतर तीनों दासों पर नहीं होता है।

check_postgres_replicate_row --host=green --port=5455 --host=लाल, नीला, पीला
--क्रिटिकल = 5 --repinfo = रसीद, रसीद_आईडी, 9, क्षेत्र, उत्तर, दक्षिण

MRTG आउटपुट के लिए, पहली पंक्ति में वह समय वापस आ जाता है, जब प्रतिकृति में लगने वाला समय सेकंड में होता है
खत्म हो। अधिकतम समय 4 मिनट 30 सेकंड के लिए सेट किया गया है: यदि कोई प्रतिकृति नहीं ली गई है
उस लंबे समय में जगह, एक त्रुटि फेंक दी जाती है।

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

आप कुछ अंतरों को बहिष्कृत या फ़िल्टर करना चाह सकते हैं। ऐसा करने का तरीका है जोड़ना
"--filter" विकल्प के लिए तार। किसी प्रकार की वस्तु को बाहर करने के लिए, "noname" का उपयोग करें, जहां 'name'
वस्तु का प्रकार है, उदाहरण के लिए, "नोस्केमा"। एक निश्चित प्रकार की वस्तुओं को a . द्वारा बाहर करने के लिए
उनके नाम के सामने नियमित अभिव्यक्ति, "noname=regex" का प्रयोग करें। a . के लिए नीचे दिए गए उदाहरण देखें
बेहतर समझ।

जिन वस्तुओं को फ़िल्टर किया जा सकता है उनमें शामिल हैं:

उपयोगकर्ता
योजना
तालिका
राय
अनुक्रमणिका
अनुक्रम
बाधा
ट्रिगर
समारोह

फ़िल्टर विकल्प "noposition" a . के भीतर कॉलम की स्थिति के सत्यापन को रोकता है
तालिका.

फ़िल्टर विकल्प "nofuncbody" सभी कार्यों के निकायों की तुलना को रोकता है।

फ़िल्टर विकल्प "नोपर्म" ऑब्जेक्ट अनुमतियों की तुलना को रोकता है।

दूसरा डेटाबेस प्रदान करने के लिए, बस कॉल द्वारा पहले वाले में अंतर जोड़ें
उपयुक्त कनेक्शन तर्क। उदाहरण के लिए, होस्ट अल्फा और पर डेटाबेस की तुलना करने के लिए
ब्रावो, "--dbhost=alpha,bravo" का प्रयोग करें। नीचे दिए गए उदाहरण भी देखें।

यदि केवल एक ही होस्ट दिया जाता है, तो यह माना जाता है कि हम "समय-आधारित" रिपोर्ट कर रहे हैं। NS
पहली बार इसे चलाने पर डेटाबेस में सभी आइटम्स का एक स्नैपशॉट स्थानीय में सहेजा जाता है
फ़ाइल। जब आप इसे फिर से चलाते हैं, तो वह स्नैपशॉट पढ़ा जाता है और "डेटाबेस # 2" बन जाता है और है
वर्तमान डेटाबेस की तुलना में।

पुरानी संग्रहीत फ़ाइल को नए संस्करण से बदलने के लिए, --replace तर्क का उपयोग करें।

समय पर विभिन्न बिंदुओं पर स्नैपशॉट को सक्षम करने के लिए, आप "--suffix" तर्क का उपयोग कर सकते हैं
प्रत्येक रन के लिए अद्वितीय फ़ाइल नाम। नीचे दिए गए उदाहरण देखें।

उदाहरण 1: सत्यापित करें कि होस्ट स्टार और लाइन पर दो डेटाबेस समान हैं:

check_postgres_same_schema --dbhost=star,line

उदाहरण 2: पहले जैसा ही, लेकिन किसी भी ट्रिगर को उनके नाम में "स्लोनी" के साथ शामिल न करें

check_postgres_same_schema --dbhost=star,line --filter="notrigger=slony"

उदाहरण 3: पहले की तरह ही, लेकिन सभी इंडेक्स को भी बाहर कर दें

check_postgres_same_schema --dbhost=star,line --filter="notrigger=slony noindexes"

उदाहरण 4: विभिन्न बंदरगाहों पर डेटाबेस "बैटलस्टार" के लिए अंतर की जाँच करें

check_postgres_same_schema --dbname=battlestar --dbport=5432,5544

उदाहरण 5: एक दैनिक और साप्ताहिक स्नैपशॉट फ़ाइल बनाएँ

check_postgres_same_schema --dbname=cylon --suffix=दैनिक
check_postgres_same_schema --dbname=cylon --suffix=साप्ताहिक

उदाहरण 6: एक ऐतिहासिक तुलना चलाएँ, फिर फ़ाइल को बदलें

check_postgres_same_schema --dbname=cylon --suffix=दैनिक --replace

अनुक्रम
("सिम्लिंक: check_postgres_sequence") जाँचता है कि सभी अनुक्रमों में कितनी जगह बची है
डेटाबेस। इसे उपयोग किए गए कुल संभावित मानों के प्रतिशत के रूप में मापा जाता है
प्रत्येक अनुक्रम के लिए। NS --चेतावनी और --नाजुक विकल्प के रूप में व्यक्त किया जाना चाहिए
प्रतिशत। डिफ़ॉल्ट मान हैं 85% तक चेतावनी के लिए और 95% तक आलोचनात्मक के लिए। आप कर सकते हैं
उपयोग करें --include और --exclude यह नियंत्रित करने के लिए कि कौन से क्रमों की जाँच की जानी है। ध्यान दें कि यह
चेक असामान्य के लिए खाता है न्यूनतम मूल्य और वेतन वृद्धि by मूल्यों, लेकिन परवाह नहीं है अगर
अनुक्रम चक्र पर सेट है या नहीं।

नागियोस के लिए आउटपुट अनुक्रम का नाम, उपयोग किए गए प्रतिशत और संख्या देता है
शेष 'कॉल' का, यह दर्शाता है कि उस क्रम पर कितनी बार अगली बार कॉल किया जा सकता है
अधिकतम मूल्य में चलने से पहले।

एमआरटीजी के लिए आउटपुट पहली पंक्ति में सभी अनुक्रमों में उच्चतम प्रतिशत देता है,
और चौथी पंक्ति पर उस प्रतिशत के साथ प्रत्येक अनुक्रम का नाम, जिसे "|" से अलग किया गया है
(पाइप) यदि उस प्रतिशत पर एक से अधिक अनुक्रम हैं।

उदाहरण 1: यदि कोई क्रम 95% पूर्ण हो रहा है तो चेतावनी दें।

check_postgres_sequence --dbport=5432 --चेतावनी=95%

उदाहरण 2: जांचें कि "orders_id_seq" नाम का अनुक्रम आधे से अधिक भरा नहीं है।

check_postgres_sequence --dbport=5432 --महत्वपूर्ण=50% --include=orders_id_seq

सेटिंग्स_चेकसम
("सिम्लिंक: check_postgres_settings_checksum") जाँचता है कि सभी पोस्टग्रेज़ सेटिंग्स हैं
पिछली बार की तरह ही आपने चेक किया था। यह एक क्रमबद्ध सूची का चेकसम उत्पन्न करके किया जाता है
नाम और उनके मूल्य निर्धारित करने के लिए। ध्यान दें कि एक ही डेटाबेस में अलग-अलग उपयोगकर्ता हो सकते हैं
अलग-अलग चेकसम, ALTER USER उपयोग के कारण, और इस तथ्य के कारण कि सुपरयूज़र अधिक देखते हैं
सामान्य उपयोगकर्ताओं की तुलना में सेटिंग्स। या तो --चेतावनी या --नाजुक विकल्प होना चाहिए
दिया, लेकिन दोनों नहीं। प्रत्येक का मूल्य चेकसम है, एक 32-वर्ण हेक्साडेसिमल
मूल्य। किसी मौजूदा . का पता लगाने के लिए आप विशेष "--critical=0" विकल्प के साथ दौड़ सकते हैं
चेकसम

इस क्रिया के लिए Digest::MD5 मॉड्यूल की आवश्यकता है।

उदाहरण 1: डिफ़ॉल्ट उपयोगकर्ता का उपयोग करके पोर्ट 5555 पर डेटाबेस के लिए प्रारंभिक चेकसम खोजें
(आमतौर पर पोस्टग्रेज)

check_postgres_settings_checksum --port=5555 --critical=0

उदाहरण 2: सुनिश्चित करें कि कोई सेटिंग नहीं बदली है और यदि ऐसा है तो चेकसम का उपयोग करके चेतावनी दें
ऊपर।

check_postgres_settings_checksum --port=5555 --warning=cd2f3b5e129dc2b4f5c0f6d8d2e64231

MRTG आउटपुट के लिए, 1 या 0 देता है जो चेकसम के मिलान में विफलता की सफलता का संकेत देता है।
एक चेकसम "--mrtg" तर्क के रूप में प्रदान किया जाना चाहिए। चौथी पंक्ति हमेशा देती है
वर्तमान चेकसम।

slony_status
("सिम्लिंक: check_postgres_slony_status") एक स्लोनी क्लस्टर की स्थिति की जाँच करता है
स्लोनी के sl_status दृश्य के परिणामों को देखते हुए। इसे की संख्या के रूप में लौटाया जाता है
"अंतराल समय" के सेकंड। NS --चेतावनी और --नाजुक विकल्पों को समय के रूप में व्यक्त किया जाना चाहिए।
डिफ़ॉल्ट मान हैं 60 सेकंड चेतावनी के लिए और 300 सेकंड आलोचनात्मक के लिए।

वैकल्पिक तर्क --स्कीमा उस स्कीमा को इंगित किया जिसके तहत स्लोनी स्थापित है। अगर यह
नहीं दिया गया है, इस चेक को चलाने पर हर बार स्कीमा स्वचालित रूप से निर्धारित हो जाएगी।

उदाहरण 1: यदि कोई स्लोनी 20 सेकंड से अधिक समय से पीछे है तो चेतावनी दें

check_postgres_slony_status --चेतावनी 20

उदाहरण 2: यदि "_slony" स्कीमा के तहत स्थापित स्लोनी 10 . से अधिक है, तो एक आलोचनात्मक दें
मिनट पिछड़ गया

check_postgres_slony_status --schema=_slony --critical=600

टाइमसिंक
("सिम्लिंक: check_postgres_timesync") स्थानीय सिस्टम समय की रिपोर्ट किए गए समय के साथ तुलना करता है
एक या अधिक डेटाबेस द्वारा। NS --चेतावनी और --नाजुक विकल्प की संख्या का प्रतिनिधित्व करते हैं
अलर्ट दिए जाने से पहले दो सिस्टम के बीच सेकंड। यदि न तो निर्दिष्ट किया गया है,
डिफ़ॉल्ट मानों का उपयोग किया जाता है, जो '2' और '5' हैं। चेतावनी मान . से अधिक नहीं हो सकता
महत्वपूर्ण मूल्य। इस परीक्षण की गैर-सटीक प्रकृति के कारण, '0' या '1' के मान नहीं हैं
की सिफारिश की.

लौटाई गई स्ट्रिंग समय के अंतर के साथ-साथ प्रत्येक पक्ष पर लिखे गए समय को दर्शाती है
बाहर।

उदाहरण 1: जांचें कि मेजबान अंख, मोर्पोर्क और क्लैच पर डेटाबेस 3 से अधिक नहीं हैं
स्थानीय समय से कुछ सेकंड दूर:

check_postgres_timesync --host=ankh,morpork,klatch --critical=3

MRTG आउटपुट के लिए, पहली पंक्ति को सेकंड के अंतर की संख्या के बीच देता है
स्थानीय समय और डेटाबेस समय। चौथी पंक्ति डेटाबेस का नाम लौटाती है।

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

RSI --चेतावनी और --नाजुक विकल्प समय की इकाइयों के रूप में दिए गए हैं, हस्ताक्षरित पूर्णांक, या
समय की इकाइयों के लिए पूर्णांक, और दोनों प्रदान किए जाने चाहिए (कोई चूक नहीं हैं)। मान्य इकाइयां
'सेकंड', 'मिनट', 'घंटे' या 'दिन' हैं। प्रत्येक को एकवचन या संक्षिप्त लिखा जा सकता है
सिर्फ पहले अक्षर के लिए। यदि कोई इकाइयाँ नहीं दी गई हैं और संख्याएँ अहस्ताक्षरित हैं, तो इकाइयाँ
सेकंड माना जाता है।

इस क्रिया के लिए पोस्टग्रेज 8.3 या इससे बेहतर की आवश्यकता है।

उदाहरण 1: यदि कोई कनेक्शन 15 से अधिक समय से लेन-देन में निष्क्रिय है तो चेतावनी दें
सेकंड:

check_postgres_txn_idle --port=5432 --warning='15 सेकंड'

उदाहरण 2: 50 या अधिक लेन-देन होने पर चेतावनी दें

check_postgres_txn_idle --port=5432 --warning='+50'

उदाहरण 3: यदि 5 या अधिक कनेक्शन लेन-देन में अधिक समय से निष्क्रिय हैं तो एक आलोचनात्मक दें
10 सेकंड से अधिक:

check_postgres_txn_idle --port=5432 --critical='5 10 सेकंड के लिए'

एमआरटीजी आउटपुट के लिए, सेकंड में समय लौटाता है सबसे लंबा निष्क्रिय लेनदेन रहा है
दौड़ना। चौथी पंक्ति डेटाबेस का नाम और इसके बारे में अन्य जानकारी लौटाती है
सबसे लंबा लेनदेन।

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

मान या --चेतावनी और --नाजुक विकल्प समय की इकाइयाँ हैं, और उन्हें प्रदान किया जाना चाहिए
(डिफ़ॉल्ट नहीं)। मान्य इकाइयाँ 'सेकंड', 'मिनट', 'घंटे' या 'दिन' हैं। प्रत्येक हो सकता है
लिखित एकवचन या संक्षिप्त रूप से केवल पहले अक्षर के लिए। यदि कोई इकाई नहीं दी जाती है, तो
इकाइयों को सेकंड माना जाता है।

इस क्रिया के लिए पोस्टग्रेज 8.3 या इससे बेहतर की आवश्यकता है।

उदाहरण 1: यदि कोई लेन-देन 10 मिनट से अधिक समय से खुला है, तो एक आलोचनात्मक लिखें:

check_postgres_txn_time --port=5432 --critical='10 मिनट'

उदाहरण 1: यदि उपयोगकर्ता 'वेयरहाउस' का लेनदेन 30 सेकंड से अधिक खुला है तो चेतावनी दें

check_postgres_txn_time --port-5432 --warning=30s --includeuser=वेयरहाउस

एमआरटीजी आउटपुट के लिए, सेकंड में अधिकतम समय लौटाता है, एक लेनदेन खुला है
पहली पंक्ति। चौथी पंक्ति डेटाबेस का नाम देती है।

txn_wrapound
("सिम्लिंक: check_postgres_txn_wrapound") जाँचता है कि लेन-देन रैपअराउंड एक के कितने करीब है
या अधिक डेटाबेस प्राप्त कर रहे हैं। NS --चेतावनी और --नाजुक विकल्प संख्या दर्शाते हैं
किए गए लेन-देन का, और एक धनात्मक पूर्णांक होना चाहिए। यदि दोनों में से कोई विकल्प नहीं दिया गया है, तो
1.3 और 1.4 बिलियन के डिफ़ॉल्ट मानों का उपयोग किया जाता है। इस आदेश को और अधिक चलाने की आवश्यकता नहीं है
प्रति डेटाबेस क्लस्टर एक से अधिक बार। इस संख्या के बारे में अधिक विस्तृत चर्चा के लिए
प्रतिनिधित्व करता है और इसके बारे में क्या करना है, कृपया पृष्ठ पर जाएँ
<http://www.postgresql.org/docs/current/static/routine-vacuuming.html#वैक्यूम-फॉर-रैपराउंड>

पर्ल के रूप में, चेतावनी और महत्वपूर्ण मूल्यों में सुपाठ्यता के लिए संख्या में अंडरस्कोर हो सकते हैं
करता है.

उदाहरण 1: लोकलहोस्ट डेटाबेस के लिए डिफ़ॉल्ट मानों की जाँच करें

check_postgres_txn_wrap आसपास --होस्ट=लोकलहोस्ट

उदाहरण 2: पोर्ट 6000 की जाँच करें और 1.7 बिलियन लेनदेन हिट होने पर एक महत्वपूर्ण दें:

check_postgres_txn_wraparound --port=6000 --critical=1_700_000_000

एमआरटीजी आउटपुट के लिए, सभी डेटाबेस के लिए लाइन एक पर लेनदेन की उच्चतम संख्या लौटाता है,
जबकि लाइन 4 इंगित करती है कि यह कौन सा डेटाबेस है।

संस्करण
("सिम्लिंक: check_postgres_version") जाँचता है कि पोस्टग्रेज़ का आवश्यक संस्करण है
दौड़ना। NS --चेतावनी और --नाजुक विकल्प (केवल एक की आवश्यकता है) प्रारूप का होना चाहिए
XY or XYZ जहां X प्रमुख संस्करण संख्या है, Y लघु संस्करण संख्या है, और Z is
संशोधन।

उदाहरण 1: यदि पोर्ट 5678 पर डेटाबेस संस्करण 8.4.10 नहीं है तो चेतावनी दें:

check_postgres_version --पोर्ट=5678 -w=8.4.10

उदाहरण 2: यदि मेजबान घाटी, अनाज, या धूप पर कोई डेटाबेस 8.3 नहीं है, तो चेतावनी दें:

check_postgres_version -H घाटी, अनाज, धूप --critical=8.3

MRTG आउटपुट के लिए, पहली पंक्ति में सफलता या विफलता का संकेत देते हुए 1 या 0 की रिपोर्ट करता है। NS
चौथी पंक्ति वर्तमान संस्करण को इंगित करती है। संस्करण "--mrtg" के माध्यम से प्रदान किया जाना चाहिए
विकल्प.

wal_files
("सिम्लिंक: check_postgres_wal_files") जाँचता है कि कितनी WAL फ़ाइलें मौजूद हैं पीजी_एक्सलॉग
निर्देशिका, जो आपके से दूर पाई जाती है data_directory, कभी-कभी दूसरे के लिए एक सिम्लिंक के रूप में
प्रदर्शन कारणों से भौतिक डिस्क। इस क्रिया को एक सुपरयुसर के रूप में चलाया जाना चाहिए, ताकि
की सामग्री तक पहुंचें पीजी_एक्सलॉग निर्देशिका। इस क्रिया का उपयोग करने के लिए न्यूनतम संस्करण है
पोस्टग्रेज 8.1. NS --चेतावनी और --नाजुक विकल्प बस फाइलों की संख्या हैं
पीजी_एक्सलॉग निर्देशिका। इसे किस संख्या पर सेट करना है, यह अलग-अलग होगा, लेकिन एक सामान्य दिशानिर्देश रखना है
समस्याओं को जल्दी पकड़ने के लिए सामान्य रूप से वहां की तुलना में थोड़ी अधिक संख्या।

आम तौर पर, वाल फाइलें बंद हो जाती हैं और फिर पुन: उपयोग की जाती हैं, लेकिन एक लंबे समय तक चलने वाला खुला लेनदेन, या ए
दोषपूर्ण संग्रह_कमांड स्क्रिप्ट, पोस्टग्रेज़ को बहुत अधिक फ़ाइलें बनाने का कारण हो सकता है। अंत में,
यह उस डिस्क का कारण बन जाएगा जिस पर वे अंतरिक्ष से बाहर चल रहे हैं, जिस बिंदु पर Postgres होगा
बंद करना।

उदाहरण 1: जांचें कि मेजबान "प्लूटो" पर वाल फाइलों की संख्या 20 या उससे कम है

check_postgres_wal_files --host=प्लूटो --critical=20

एमआरटीजी आउटपुट के लिए, लाइन 1 पर वाल फाइलों की संख्या की रिपोर्ट करता है।

पुनर्निर्माण_सिमलिंक
पुनर्निर्माण_सिमलिंक्स_फोर्स
इस क्रिया के लिए किसी अन्य तर्क की आवश्यकता नहीं है, और किसी भी डेटाबेस से कनेक्ट नहीं है, लेकिन बस
फॉर्म में प्रत्येक क्रिया के लिए वर्तमान निर्देशिका में सिम्लिंक बनाता है
check_postgres_. यदि फ़ाइल पहले से मौजूद है, तो इसे अधिलेखित नहीं किया जाएगा। अगर
कार्रवाई है पुनर्निर्माण_सिमलिंक्स_फोर्स, फिर सिम्लिंक को अधिलेखित कर दिया जाएगा। विकल्प
--symlinks कहने का एक छोटा तरीका है --action=rebuild_symlinks

बुनियादी फ़िल्टरिंग


विकल्प --शामिल और --निकालना किन चीजों की जाँच की जाती है, इसे सीमित करने के लिए जोड़ा जा सकता है,
कार्रवाई के आधार पर। निम्नलिखित का उपयोग करते समय डेटाबेस का नाम फ़िल्टर किया जा सकता है
क्रियाएँ: बैकएंड, डेटाबेस_साइज़, लॉक्स, query_time, txn_idle, और txn_time। का नाम
निम्नलिखित क्रियाओं का उपयोग करते समय एक संबंध को फ़िल्टर किया जा सकता है: ब्लोट, इंडेक्स_साइज़,
टेबल_साइज़, रिलेशन_साइज़, लास्ट_वैक्यूम, लास्ट_ऑटोवैक्यूम, लास्ट_एनालिज़, और
last_autoanalyze. सेटिंग_चेकसम का उपयोग करते समय सेटिंग का नाम फ़िल्टर किया जा सकता है
कार्य। डिस्क_स्पेस क्रिया का उपयोग करते समय फ़ाइल सिस्टम का नाम फ़िल्टर किया जा सकता है।

यदि केवल एक शामिल विकल्प दिया गया है, तो केवल उन प्रविष्टियों की जांच की जाएगी जो मेल खाती हैं।
हालाँकि, यदि दिया गया दोनों बहिष्कृत और शामिल हैं, तो बहिष्करण पहले किया जाता है, और शामिल किया जाता है
के बाद, उन चीजों को बहाल करने के लिए जिन्हें बाहर रखा गया हो सकता है। दोनों --शामिल और --निकालना कर सकते हैं
कई बार दिया जाना चाहिए, और/या अल्पविराम से अलग की गई सूचियों के रूप में। एक अग्रणी टिल्ड से मेल खाएगा
एक नियमित अभिव्यक्ति के रूप में निम्नलिखित शब्द।

किसी स्कीमा से मिलान करने के लिए, खोज शब्द को एकल अवधि के साथ समाप्त करें। अग्रणी टिल्ड का उपयोग किया जा सकता है
स्कीमा के लिए भी।

फ़िल्टरिंग का उपयोग करते समय सावधान रहें: बैकएंड पर समावेशन नियम, उदाहरण के लिए, मई
कोई समस्या नहीं रिपोर्ट करें, न केवल इसलिए कि मेल खाने वाले डेटाबेस में कोई बैकएंड नहीं था, बल्कि इसलिए कि आप
डेटाबेस का नाम गलत वर्तनी!

उदाहरण:

केवल pg_class नाम की वस्तुओं की जाँच करता है:

--शामिल करें=pg_class

केवल 'pg_' अक्षर वाले आइटम की जांच करता है:

--शामिल करें=~pg_

केवल 'pg_' से शुरू होने वाली वस्तुओं की जाँच करें:

--शामिल करें=~^pg_

'परीक्षण' नाम की वस्तु को बाहर करें:

--बहिष्कृत = परीक्षण

'परीक्षण' अक्षर वाले सभी आइटम शामिल न करें:

--बहिष्कृत=~परीक्षण

स्कीमा 'pg_catalog' में सभी आइटम बहिष्कृत करें:

--बहिष्कृत = 'pg_catalog.'

'ऐस' अक्षर वाले सभी आइटम को बाहर करें, लेकिन आइटम को 'फेसऑफ़' की अनुमति दें:

--बहिष्कृत=~ऐस --शामिल=फेसऑफ़

'pg_' अक्षर से शुरू होने वाले सभी आइटमों को बाहर करें, जिनमें 'slon' अक्षर हों, या
जिन्हें 'sql_settings' या 'ग्रीन' नाम दिया गया है। विशेष रूप से अक्षरों के साथ आइटम जांचें
उनके नाम में 'prod', और हमेशा 'pg_relname' नाम के आइटम की जांच करें:

--बहिष्कृत=~^pg_,~slon,sql_settings --बहिष्कृत=हरा --शामिल=~उत्पाद,pg_relname

USER नाम फ़िल्टरिंग


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

डेटाबेस_साइज़
अंतिम_विश्लेषण
अंतिम_स्वतःविश्लेषण
अंतिम_वैक्यूम
अंतिम_ऑटोवैक्यूम
query_time
संबंध_आकार
txn_time

उदाहरण:

केवल greg नाम के उपयोगकर्ता के स्वामित्व वाली वस्तुओं की जाँच करें:

--शामिल उपयोगकर्ता = ग्रेग

केवल वॉटसन या क्रिक के स्वामित्व वाली वस्तुओं की जाँच करें:

--शामिल उपयोगकर्ता = वाटसन, क्रिक

केवल क्रिक, फ्रेंकलिन, वॉटसन या विल्किंस के स्वामित्व वाली वस्तुओं की जाँच करें:

--includeuser=watson --includeuser=franklin --includeuser=crick, Wilkins

उपयोगकर्ता स्कॉट से संबंधित वस्तुओं को छोड़कर सभी वस्तुओं की जाँच करें:

--बहिष्कृत उपयोगकर्ता=स्कॉट

टेस्ट मोड


चीजों को स्थापित करने में मदद करने के लिए, इस कार्यक्रम को निर्दिष्ट करके "परीक्षण मोड" में चलाया जा सकता है
--परीक्षण विकल्प। यह सुनिश्चित करने के लिए कुछ बुनियादी परीक्षण करेगा कि डेटाबेस हो सकते हैं
संपर्क किया जाता है, और यह कि कुछ प्रति-कार्य पूर्वापेक्षाएँ पूरी होती हैं, जैसे कि उपयोगकर्ता है या नहीं
एक सुपरयुसर, यदि पोस्टग्रेज का संस्करण काफी नया है, और यदि stats_row_level सक्षम है।

onworks.net सेवाओं का उपयोग करके ऑनलाइन check_postgres_sequencep का उपयोग करें


फ्री सर्वर और वर्कस्टेशन

विंडोज और लाइनेक्स एप डाउनलोड करें

लिनक्स कमांड

  • 1
    abidiff
    abidiff
    एबिडिफ - ईएलएफ फाइलों के एबीआई की तुलना करें
    एबिडीफ एप्लिकेशन बाइनरी की तुलना करता है
    दो साझा पुस्तकालयों के इंटरफेस (एबीआई)।
    ईएलएफ प्रारूप में। यह एक अर्थपूर्ण उत्सर्जन करता है
    रिपोर्ट...
    एबिडीफ चलाएं
  • 2
    आबिदव
    आबिदव
    abidw - ELF के ABI को क्रमबद्ध करें
    फ़ाइल abidw ईएलएफ में एक साझा पुस्तकालय पढ़ता है
    प्रारूप और एक एक्सएमएल प्रतिनिधित्व का उत्सर्जन करता है
    इसके ABI से मानक आउटपुट तक।
    उत्सर्जित ...
    अबीद चलाओ
  • 3
    copac2xml
    copac2xml
    बिबुटिल्स - ग्रंथ सूची रूपांतरण
    उपयोगिताओं ...
    Copac2xml चलाएँ
  • 4
    कॉप्ट
    कॉप्ट
    कॉप्ट - पीपहोल अनुकूलक SYSNOPIS:
    कॉप्ट फ़ाइल.. विवरण: कॉप्ट एक है
    सामान्य प्रयोजन पीपहोल अनुकूलक। यह
    अपने मानक इनपुट से कोड पढ़ता है और
    एक लिखता है...
    कॉप चलाओ
  • 5
    इकट्ठा_stx_शीर्षक
    इकट्ठा_stx_शीर्षक
    इकट्ठा_stx_शीर्षक - शीर्षक इकट्ठा करें
    Stx दस्तावेज़ों से घोषणाएँ ...
    इकट्ठा_stx_titles चलाएँ
  • 6
    गैटलिंग-बेंच
    गैटलिंग-बेंच
    बेंच - http बेंचमार्क ...
    गैटलिंग-बेंच चलाएं
  • अधिक "

Ad