log_min_duration_statement सेटिंग को अनदेखा किया जाता है


15

मैं Postgresql 9.1उबंटू पर दौड़ रहा हूं । सटीक Postgresql संस्करण 9.1+129ubuntu1मेरे पैकेज प्रबंधक शो के रूप में है।

मेरे पास 2 डेटाबेस हैं जो सक्रिय रूप से उपयोग में हैं और वे एक दूरस्थ सर्वर से उपयोग किए जाते हैं।

मैं उन प्रश्नों को लॉग करना चाहता हूं जिनके लिए एक लंबा निष्पादन समय है। इसलिए मैंने /etc/postgresql/9.1/main/postgresql.confफ़ाइल में निम्नलिखित पैरामीटर सेट किए

log_min_duration_statement = 10000
log_statement = 'mod'

इसलिए Postgresql 10 सेकंड से अधिक समय लेने वाले प्रश्नों को लॉग करेगा।

लेकिन जब मैं reloadकॉन्फ़िगरेशन को पोस्टग्रैजिट करता हूं , तो पोस्टग्रैसक्ल हर उस क्वेरी को लॉग करना शुरू करता है जो log_statementमूल्य फिट बैठता है । यह सुनिश्चित करने के लिए मैंने 100 सेकंड की अवधि निर्धारित की है

log_min_duration_statement = 100000

लेकिन Postgresql log_statementमूल्य की परवाह किए बिना मूल्य को फिट करने वाली हर क्वेरी को लॉग करता रहता है log_min_duration_statement

लॉगिंग बंद करने के लिए सेट log_statementकरने के लिए noneलग रहा था।

क्या ऐसा कुछ है जो मुझे कॉन्फ़िगरेशन के बारे में याद है?


बात यह है कि आप दो सेटों के संघ में प्रवेश करते हैं, न कि इसके प्रतिच्छेदन पर। यदि आप चाहें तो मुझे इसकी जानकारी नहीं है।
dezso

तो, क्या मुझे अक्षम करना चाहिए (टिप्पणी करना) log_statementइसलिए log_min_duration_statementकाम करना चाहिए?
फॉलनएंगल 13

आप बस सब लंबे समय से चल बयान लॉग इन करना चाहते हैं (यह एक हो SELECT, UPDATEया कुछ DDL), तो हाँ।
dezso

जवाबों:


21

तुम पास थे। आपका अंतिम विचार वास्तव में जाने का तरीका है:

log_statement = none
log_min_duration_statement = 10000

फिर कोई स्टेटमेंट लॉग नहीं किया जाएगा, केवल 10 सेकंड से अधिक चलने वालों को छोड़कर - क्वेरी स्ट्रिंग सहित। लॉगिंग रुक गई प्रतीत हो सकती है क्योंकि 10 सेकंड एक उच्च सीमा है। मैं सामान्य रूप से 2 सेकंड का उपयोग कर रहा हूं, लेकिन YMMV।

SO पर इस संबंधित उत्तर में अधिक है:
कार्य करने के लिए log_min_duration_statement प्राप्त नहीं कर सकता


3
मुझे लगता है कि के लिए डिफ़ॉल्ट जोड़ रहा log_statementहै none, तो इसे स्थापित करने या noneएक ही प्रभाव के लिए सेटिंग नहीं है।
dezso
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.