PostgreSQL पोर्ट को कमांड लाइन का उपयोग करके बदलना


10

मेरा PostgreSQL डिफ़ॉल्ट पोर्ट 5432 है, मैं कमांड लाइन (विंडोज 7 में) का उपयोग करके डिफ़ॉल्ट पोर्ट बदलना चाहता हूं।

मैंने इससे पहले इसका हल देखा: /programming/187438/want-to-change-pgsqb-port

मैंने निम्नलिखित कमांड चलाने की कोशिश की, लेकिन यह विफल रहा:

postgres --p 5431

क्या कोई मुझे बता सकता है कि कमांड लाइन का उपयोग करके पोर्ट कैसे बदला जाए?

जवाबों:


9

चूंकि आप विंडोज पर हैं और संभवतः विंडोज सेवा के रूप में पोस्टग्रेक्यूएल शुरू कर रहे हैं, तो आपको postgresql.confवहां नया पोर्ट सेट करने के लिए (अपने डेटा निर्देशिका के अंदर) संपादित करने की आवश्यकता होगी , फिर सर्विसेज कंट्रोल पैनल या एक प्रशासक के रूप में पोस्टग्रेजल सेवा को फिर से शुरू करें। ) net serviceआज्ञा।

postgresql.confयदि आपको इसे स्वचालित करने की आवश्यकता है तो आप बदलने के लिए प्रोग्रामेटिक टेक्स्ट एडिटिंग टूल का उपयोग कर सकते हैं । एक लिनक्स पर / यूनिक्स बॉक्स आप की तरह एक उपकरण का उपयोग होता है sedया awk, लेकिन Windows मैं पर कल्पना करें कि आप का उपयोग किया जाएगा VBS, powershell, या एक ऐड-ऑन पर्ल की तरह उपकरण।

आपको PgAdmin-IIIनए पोर्ट का उपयोग करने के लिए टूल में कनेक्शन सेटिंग्स को बदलना होगा ।

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


मैं "स्विस फाइल नाइफ" का उपयोग विंडोज पर टेक्स्ट फाइलों में बदलने के लिए कर रहा हूं।
a_horse_with_no_name

@a_horse_with_no_name उपयोगी उपकरण जब आपके पास फाइलुटिल / कोरुटिल / आदि नहीं है; पारितोषिक के लिए धन्यवाद।
क्रेग रिंगर

इसलिए मैं विंडोज में pgsql पोर्ट को बदलने के लिए कमांड लाइन का उपयोग नहीं कर सकता हूं?
निक हंग

@NickHung हां, जैसा कि आपको ऊपर बताया गया है - कॉन्फिग फाइल को बदलने के लिए एक टेक्स्ट प्रोसेसर का उपयोग करें, या पोस्टग्रेक्यूएल को विंडोज सेवा के रूप में न चलाएं और इसके बजाय इसे शुरू करें pg_ctl
क्रेग रिंगर

7
  • पर जाएँ .. \ PostgreSQL \ 9.0 \ data और पाठ संपादक में फ़ाइल postgresql.conf खोलें / नोटपैड
  • पोर्ट पैरामीटर के लिए खोज .eg: पोर्ट = 5433
  • इसे अपने पोर्ट नंबर पर संपादित करें।
  • टाइप services.msc चलाने के लिए और postgresql सेवा को पुनरारंभ करें।

आप देख सकते हैं कि पैरामीटर को सेट किया गया है या क्वेरी टूल के माध्यम से पैरामीटर सेट किया गया है या नहीं। बस show portक्वेरी निष्पादित करें । यह आपके वर्तमान पोर्ट नंबर को प्रदर्शित करेगा। यदि आप db से जुड़ने के लिए pgAdmin का उपयोग कर रहे हैं, तो सुनिश्चित करें कि आपने कनेक्शन सेटिंग्स में अपना पोर्ट नंबर बदल दिया है।


0

एक समाधान जिसके लिए किसी पाठ प्रतिस्थापन या इसी तरह की तकनीकों की आवश्यकता नहीं होती है वह है अलग पोर्ट को एक अलग कॉन्फिगर फाइल में कॉन्फ़िगर करना, फिर फाइल में एक निर्देश शामिल करना postgresql.conf

जैसे

echo port = 5431 > \path\to\datadir\custom.conf
echo include custom.conf>> \path\to\datadir\postgresql.conf

(बेशक \path\to\datadir\सही रास्ते से बदलने की जरूरत है)

पहला echoकमांड केवल पोर्ट कॉन्फ़िगरेशन के साथ एक नई फ़ाइल बनाता है। दूसरा वाला मौजूदा पोस्टग्रेस कॉन्फिग फाइल में निर्देश शामिल करता है। फ़ाइल में "बाद में" सेटिंग्स "पहले" को ओवरराइड करने के रूप में, किए गए किसी भी पोर्ट कॉन्फ़िगरेशन postgresql.confको कस्टम कॉन्फ़िगरेशन फ़ाइल में एक के साथ ओवरराइट किया जाएगा।

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