/etc/servicesकेवल सलाहकार है, यह प्रसिद्ध बंदरगाहों की सूची है। इसका मतलब यह नहीं है कि कुछ भी वास्तव में उस पोर्ट पर चल रहा है या नामांकित सेवा उस पोर्ट पर चलेगी।
PostgreSQL के मामले में अगर यह उपलब्ध है तो पोर्ट 5432 का उपयोग करना विशिष्ट है। यदि ऐसा नहीं है, तो अधिकांश इंस्टॉलर अगले मुफ्त पोर्ट का चयन करेंगे, आमतौर पर 5433।
आप देख सकते हैं कि वास्तव में netstatटूल का उपयोग करके क्या चल रहा है (ओएस एक्स, विंडोज और लिनक्स पर उपलब्ध है, कमांड लाइन सिंटैक्स तीनों में भिन्न है)।
विभिन्न पोस्टग्रेक्यूक्यू पैकेजों की भयानक गड़बड़ी से मैक ओएस एक्स सिस्टम पर यह और जटिल हो गया है - ओएस के लिए बनाया गया पोस्टग्रेजक्यूएल का प्राचीन संस्करण, पोस्टग्रैस.ऐप, होमब्रे, मैकस्पोर्ट्स, एंटरप्राइजबीडी इंस्टॉलर आदि।
क्या होता है समाप्त होता है कि उपयोगकर्ता पीजी स्थापित करता है और एक पैकेजिंग से एक सर्वर शुरू करता है, लेकिन एक अलग पैकेजिंग से क्लाइंट psqlऔर libpqक्लाइंट का उपयोग करता है । आमतौर पर ऐसा तब होता है जब वे Postgres.app या homebrew Pg चला रहे होते हैं और psqlOS के साथ उस लिंक के साथ जुड़ते हैं । न केवल ये कभी-कभी अलग-अलग डिफ़ॉल्ट पोर्ट होते हैं, लेकिन मैक ओएस एक्स के साथ शिप किए गए पीजी में एक अलग डिफ़ॉल्ट यूनिक्स सॉकेट पथ होता है , इसलिए भले ही सर्वर उसी पोर्ट पर चल रहा हो, यह एक ही यूनिक्स सॉकेट को नहीं सुन रहा होगा।
अधिकांश मैक उपयोगकर्ता इसके साथ काम करते हैं बस tcp / ip के साथ psql -h localhost। यदि आवश्यक हो, तो आप एक पोर्ट भी निर्दिष्ट कर सकते हैं psql -h localhost -p 5433। आपके पास कई PostgreSQL इंस्टेंस चल सकते हैं इसलिए सुनिश्चित करें कि आप उपयोग करके सही एक से जुड़ रहे हैं select version()और SHOW data_directory;।
आप एक यूनिक्स सॉकेट निर्देशिका भी निर्दिष्ट कर सकते हैं; unix_socket_directoriesआप जिस PostgreSQL इंस्टेंस को कनेक्ट करना चाहते हैं, उसकी सेटिंग चेक करें और उदाहरण के लिए psql -h, उसके साथ निर्दिष्ट करें psql -h /tmp।
एक क्लीनर समाधान आपके सिस्टम को सही करने के लिए है PATHताकि psqlऔर libpqPostgreSQL के साथ जुड़े आप वास्तव में चल रहे हैं क्या पहले पर मिलती है PATH। उस का विवरण आपके मैक ओएस एक्स संस्करण पर निर्भर करता है और आपने कौन से पीजी पैकेज स्थापित किए हैं। मैं मैक का उपयोग नहीं करता हूं और वर्तमान में उपलब्ध की तुलना में अधिक समय खर्च किए बिना उस तरफ बहुत अधिक विवरण नहीं दे सकता।
PGPORTपरिभाषित किया गया है: postgresql.org/docs/current/static/libpq-envars.html