postgres -w झंडा तोड़ने प्रणाली


0

इसलिए मैं आर्क के लिए बहुत नया हूं और एक अजीब मुद्दा हूं। का उपयोग करते हुए systemctl मैं पोस्टग्रैक्स्ल शुरू नहीं कर सकता। Postgresql से सीधे शुरुआत करें pg_ctl ठीक काम करता है और इसे संक्षेप में शुरू भी किया जाता है systemctl।

आर्क लाइन पर postgresql स्थापित करते समय बनाई गई सिस्टमड यूनिट फ़ाइल में ExecStart कमांड शामिल है:

ExecStart= /usr/bin/pg_ctl -s -D ${PGROOT}/data start -w -t 120

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

यह बहुत अच्छा है और मैं संशोधित इकाई फ़ाइल को कोई समस्या नहीं बना सकता हूं। मैं सिर्फ यह सोच रहा हूं कि क्या यह किसी अन्य कॉन्फ़िगरेशन के बॉटकेड का साइड-इफेक्ट है या जनरेट की गई यूनिट फाइल सिर्फ गलत है?

जवाबों:


0

-w झंडा समय-समय पर अपने सर्वर से जुड़ने की कोशिश करता है। बेशक, कुछ भी जो आपके सर्वर से कनेक्शन को रोकता है वह कारण होगा pg_ctl यह सोचने के लिए कि आपका सर्वर अभी शुरू नहीं हुआ है। तो यह घूमता रहता है, आपके द्वारा निर्दिष्ट टाइमआउट तक पुनः प्रयास करता है। जब यह बाहर हो जाता है, तो यह एक गैर-शून्य निकास कोड को वापस कर देता है systemd, और सिस्टमड स्वचालित रूप से कॉन्फ़िगर को कॉल करता है ExecStop कमांड, प्रभावी रूप से आपके सर्वर को रोक रहा है।

यदि आप अपने सर्वर से कनेक्ट करने में सक्षम हैं जब आप इसे मैन्युअल रूप से शुरू करते हैं pg_ctl (यानी सिर्फ इसे देखने के लिए नहीं ps -ef ), तो यह संभव है कि कुछ पर्यावरण चर अलग है ( PGPORT, PGDATA )।

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

में कुछ उपयोगी जानकारी हो सकती है pg_log अपने में PGDATA निर्देशिका। कम से कम यह इंगित करेगा कि सर्वर देख रहा है लेकिन प्रश्नों को अस्वीकार कर रहा है pg_ctl।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.