2014-06-07 8 views
7

में उपयोगकर्ता के रूप में डिफ़ॉल्ट कथन_टाउटआउट सेट करें, मैं पोस्टग्रेज़ डेटाबेस तक पहुंच के लिए डिफ़ॉल्ट statement_timeout सेट करना चाहता हूं। मेरे पर्यावरण चर को कॉन्फ़िगर करने के बाद, अब मेरे पास यह है कि psql मुझे मेरे पसंदीदा डेटाबेस और तालिका पर लॉग ऑन करता है। हालांकि, जब मैं इसमें कई तालिकाओं की खोज कर रहा हूं, तो मैं लगभग एक मिनट का बयान देना चाहता हूं। यह प्रत्येक सत्र की शुरुआत में SET statement_timeout TO '1min'; टाइप करके किया जा सकता है, लेकिन यह हर बार टाइप करने के लिए अप्रिय है। मेरे पास सर्वर कॉन्फ़िगरेशन तक पहुंच नहीं है और न ही मैं इसे बदलना चाहता हूं। आदर्श रूप से मैं alias psql='psql -c "SET statement_timeout TO '1min';"' except the -c` psql का ध्वज इंटरैक्टिव इनपुट की अनुमति नहीं देता है। क्या इस समस्या का कोई अच्छा समाधान है, या क्या मैं हमेशा प्रत्येक इंटरैक्टिव सत्र के लिए टाइमआउट सेट करने के लिए बर्बाद हो जाता हूं?psql postgres

उत्तर

12

आप अपने .psqlrc फ़ाइल इस्तेमाल कर सकते हैं (यदि आप अपने घर निर्देशिका में एक भी नहीं है इसे बनाने, यदि आप *nix के बजाय Windows पर हैं, फ़ाइल % APPDATA% \ PostgreSQL \ psqlrc.conf है बजाय) और निम्न आदेश सेट:

set statement_timeout to 60000; commit; 

वह रूपरेखा मिलीसेकेंड में है, इसलिए है कि 1 मिनट के लिए समय समाप्ति सेट कर देंगे। .psqlrc-c और -Xpsql के आमंत्रण के साथ उपयोग नहीं किया जाता है, जिससे आपको 1 मिनट तक अपना इंटरैक्टिव-मोड टाइमआउट प्राप्त करने की अनुमति मिलनी चाहिए।

फिर आप की पुष्टि है कि विन्यास प्रभाव ले लिया है psql में निम्नलिखित को निष्पादित कर सकते हैं:

show statement_timeout; 
+0

मैं .psqlrc के बारे में पता नहीं था! Psql के मेरे संस्करण (8.4.5) पर यह 'लेन [...] 'लेनदेन के रूप में नहीं गिना जाता है, और' psql के साथ' प्रतिबद्ध 'के बारे में शिकायत की जाती है: ~/.psqlrc: 1: चेतावनी: कोई नहीं है प्रगति में लेनदेन '। अन्यथा यह काम किया। धन्यवाद! – Erik

+0

निश्चित रूप से, कोई समस्या नहीं है। आह हाँ, 8.4.x की लापरवाही ... मुझे अभी भी उस संस्करण का कभी-कभी उपयोग करना होगा और इसमें अभी तक क्या नहीं है या यह अलग-अलग व्यवहार कैसे करता है इससे नाराज है। =) – khampson

+0

यह निश्चित रूप से अब तक विषय से दूर है, लेकिन 8.4.x निराशा एक एसएस सुरंग स्थापित करने के लिए मेरा उत्प्रेरक था। – Erik