PostgreSQL मैक पर नहीं चल रहा है


55

इसकी संपूर्णता में त्रुटि पढ़ी जाती है:

psql: सर्वर से कनेक्ट नहीं हो सका: ऐसी कोई फ़ाइल या निर्देशिका नहीं। क्या सर्वर स्थानीय रूप से चल रहा है और यूनिक्स डोमेन सॉकेट "/tmp/.s.PGSQL.5432" पर कनेक्शन स्वीकार कर रहा है?

यह मेरा मैक पर Homebrew के माध्यम से Postgresql स्थापित करने का मेरा दूसरा समय है, और मुझे कोई सुराग नहीं है कि क्या चल रहा है। पहले, यह काम कर रहा था। कुछ बिंदु पर, मुझे एक कमांड दर्ज करनी चाहिए जो चीजों को गड़बड़ कर देती है। मुझे यकीन नहीं है। अब, जब भी मैं कमांड लाइन से SQL कमांड दर्ज करता हूं, मुझे उपरोक्त संदेश प्राप्त होता है। मैंने यह जांचने के लिए एक कमांड चलाया है कि सर्वर चल रहा है या नहीं, और यह स्पष्ट रूप से नहीं है। यदि मैं सर्वर का उपयोग शुरू करने का प्रयास करता हूं

$ postgres -D / usr / स्थानीय / pgsql / डेटा

मुझे निम्नलिखित त्रुटि प्राप्त हुई:

पोस्टग्रेज सर्वर कॉन्फ़िगरेशन फ़ाइल "/usr/local/pgsql/data/postgresql.conf" तक नहीं पहुँच सकते: ऐसी कोई फ़ाइल या निर्देशिका नहीं है

मैं Homebrew के माध्यम से Postgresql को अनइंस्टॉल और पुनः इंस्टॉल किया है, लेकिन समस्या बनी रहती है। मैं पूरी तरह से इस काम को पाने के नुकसान के रूप में हूं। किसी भी सहायता की सराहना की जाएगी।

जवाबों:


51

समस्या को एक दुर्घटनाग्रस्त प्रक्रिया के लिए भी जिम्मेदार ठहराया जा सकता है जिसने postmaster.pidफ़ाइल को पीछे छोड़ दिया है।

$ brew services stop postgresql
$ rm /usr/local/var/postgres/postmaster.pid # adjust path accordingly to your install
$ brew services start postgresql

4
MacOSX पर, इस जवाब ने मुझे बचा लिया। ओपी के रूप में एक ही त्रुटि थी मेरे कंप्यूटर के बाद हार्ड रिबूट। brew servicesक्योंकि वे यह लगता है सब कुछ की तरह काम कर रहा था बनाया आदेश मददगार नहीं थे। यह postmaster.pidहै कि आखिरकार सबकुछ फिर से काम कर रहा है। धन्यवाद!
विन्ह्बॉय

1
यह मेरे साथ भी हुआ। मैक ओएस एक्स के हार्ड क्रैश ने फिर से शुरुआत की, उसके बाद पोस्टग्रैज नहीं आया। काढ़ा सेवा शुरू / बंद / पुनरारंभ काम नहीं करता है, आपको मैन्युअल रूप से पीआईडी ​​फ़ाइल को निकालना होगा।
माथिजिस

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

43

जवाब यहाँ है

सर्वर को मैन्युअल रूप से प्रारंभ करने के लिए यह कमांड चलाएँ:

pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start

14

मैं वही हो रहा था

Is the server running locally and accepting connections on Unix domain 
socket "/tmp/.s.PGSQL.5432"?

Homebrew का लूप इंस्टॉल / स्टार्ट / स्टॉप / रीस्टार्ट टू नो ट ...

अंत में, brew postgresql-upgrade-databaseकाम किया।

लगता है कि मैं 10.4 के बजाय 9.6 पर था, और मेरे कुछ नवीनतम ऐप स्टोर ने मेरे सभी डेटाबेस सर्वरों को पुनः आरंभ किया ...


इसने मेरे लिए काम किया
davideghz

यही brew postgresql-upgrade-databaseतो मुझे याद आ रहा था। यह बात बताने के लिए धन्यवाद।
कॉरिन

मेरे लिए काम किया धन्यवाद!
इरविन रूइजाक्कर्स

मैंने सभी उपाय आजमाए हैं। लेकिन मेरे लिए यही एक काम है। यह जानकर बहुत अच्छा लगेगा कि कोई भी यह समझा सकता है कि यह पूरी तरह से तय क्यों है।
जॉनीक्यू

11

मैंने बस एक ही समस्या का समाधान किया है। यह सिर्फ इसलिए है क्योंकि मैं है भूल करने के लिए ठीक से इसे चलाने के उपयोग करने से पहले।

मैक ओएस पर शुद्ध स्थापित करने के लिए postgresql, प्रक्रिया होगी ( काढ़ा आदेश का उपयोग करके ):

brew install postgresql

फिर यदि आप स्वतः postgresqlलॉगिन पर चलना चाहते हैं :

ln -sfv /usr/local/opt/postgresql/*.plist ~/Library/LaunchAgents

या फिर आप बस इसे कभी भी चलाना चाहते हैं:

postgres -D /usr/local/var/postgres

यदि आपका मामला अधिक जटिल है, तो आइए brew uninstall postgresqlऔर इन चरणों को फिर से करें।

आशा है ये मदद करेगा!


1
अपडेट: होमब्रे-इंस्टॉल किए गए पोस्टग्रेज के लिए, brew services start postgresqlअब लॉगिन पर पोस्टग्रेज शुरू करने का पसंदीदा तरीका है
हेनरी

5
psql: could not connect to server: No such file or directory
    Is the server running locally and accepting
    connections on Unix domain socket"/var/pgsql_socket/.s.PGSQL.5432"?

मैं उपरोक्त त्रुटि प्राप्त करता रहा और उपरोक्त किसी भी समाधान ने मेरे लिए काम नहीं किया। अंत में निम्नलिखित समाधान ने मैक ओएस एक्स पर मेरी समस्या को हल किया

काढ़ा का उपयोग कर पोस्टग्रेज स्थापित करें

brew install postgres

काढ़ा सेवाएँ स्थापित करें

brew tap homebrew/services

पृष्ठभूमि सेवा के रूप में पोस्टग्रेज शुरू करने के लिए

brew services start postgresql

मैन्युअल रूप से पोस्टग्रेस को रोकने के लिए

brew services stop postgresql

हम Postgres को पुनरारंभ करने के लिए काढ़ा सेवाओं का भी उपयोग कर सकते हैं

brew services restart postgresql

2

यह तब होता है जब सर्वर पोस्टग्रेज नहीं चल रहा होता है। मैक पर Homebrew के माध्यम से पोस्टग्रेज को ठीक से स्थापित करने के लिए कदम:

  1. brew install postgres

  2. initdb /Users/<username>/db -E utf8 [यह दी गई डायरेक्टरी को डेटाबेस डायरेक्टरी के रूप में उपयोग करने के लिए आरंभ करता है। आम तौर पर डेटाबेस भंडारण के लिए उपयोगकर्ता निर्देशिका का उपयोग करने की सलाह नहीं दी जाती है। Initdb और समान कमांड को जोड़ने के लिए sudoers फ़ाइल संपादित करें और फिर / usr / स्थानीय / var / पोस्टग्रैट्स पर initdb चलाएं]

  3. pg_ctl -D /Users/<username>/db -l logfile start [चरण 2 के साथ सफलता मिलने के बाद यह चरण 3 को चलाने के लिए संकेत देगा। यह कमांड मैन्युअल रूप से सर्वर शुरू करता है।]


2

इसने मेरे लिए काम किया। अपने सिस्टम में संस्करण के अनुसार अपनी पोस्टग्रैक्स्ल निर्देशिका को बदलें।

सामान्य पथ- rm /usr/local/var/postgres/postmaster.pid

लेकिन मेरे सिस्टम पथ में postgresql@9.6 के लिए है rm /usr/local/var/postgresql@9.6/postmaster.pid

postgresql@9.6- को पुनः आरंभ करें brew services restart postgresql@9.6


हाँ जो एक काम करता है!
पाइरेटऐप

1

मुझे सिर्फ /etc/postgresql/9.5/main/postgresql.conf में असहजता है

unix_socket_permissions = 0777

और पोस्टग्रेज पुनः आरंभ करें। और मेरे लिए यह काम करता है।


1

हाल ही में मैं एक ऐसी ही समस्या से गुजर गया। बस एक और समस्या और समाधान है। मैं पोस्टग्रेज (9.3 और 9.6) के 2 संस्करण चला रहा था, हालांकि सर्वर को 2 अलग-अलग पोर्ट पर चलाने के लिए सेट किया गया था, लेकिन कुछ कैसे bash पर psql कमांड डिफ़ॉल्ट पोर्ट 5432 से कनेक्ट करने का प्रयास करते हैं। यह सुनिश्चित करें कि आपका सर्वर चल रहा है या नहीं और जांचें आपकी पोर्ट सेटिंग्स, फिर चलाएं psql -p <port> postgres। समाधान पोर्ट बदल रहा है।


1

मैं लंबे समय से देख रहा था, और यह सबसे साफ और साफ समाधान था:

मैंने हाल ही में पोस्ट अपग्रेड्स को 9.2 से 9.3 पर काढ़ा अपग्रेड पोस्टग्रेज का उपयोग करके अपग्रेड किया है। प्रक्रिया सुचारू थी और pg_upgrad बहुत ही उपयोगी उपकरण है।

हालाँकि, एक बार जब मैंने पोस्टग्रेज से जुड़ने के लिए किसी भी चश्मे को चलाने की कोशिश की, तो परेशानी बढ़ गई। हालांकि पोस्टग्रैज निश्चित रूप से चल रहा था, अचानक मुझे मिल रहा था:

सर्वर से कनेक्ट नहीं हो सका: ऐसी कोई फ़ाइल या निर्देशिका (PG :: ConnectionBad) नहीं है जो सर्वर स्थानीय रूप से चल रहा है और यूनिक्स डोमेन सॉकेट "/var/pgsql_socket/.s.PGSQL.5432" पर कनेक्शन स्वीकार कर रहा है? समस्या यह थी कि Postgres का नया संस्करण इसके बजाय /tmp/.s.PGSQL.5432 पर सुनता है। मैं कॉन्फ़िगर के साथ गड़बड़ कर सकता था और पोस्टग्रेज ने डोमेन सॉकेट का उपयोग किया था जो पहले था, या रेल ने बताया कि कैसे कनेक्ट करना है, लेकिन उन दोनों तरीकों से ऐसा लग रहा था कि मुझे काम नहीं करना चाहिए। किसी भी बिंदु पर मैंने रेल को उस रास्ते पर पोस्टग्रेज से कनेक्ट करने के लिए नहीं कहा था, रेल ने इसे मान लिया था, और अब इसकी धारणा गलत थी।

फिक्स सरल है, अगर थोड़ा आश्चर्य होता है। जब आप 'pg' रत्न स्थापित करते हैं, तो यह पता लगाता है कि Postgres का कौन सा संस्करण स्थापित है और डोमेन सॉकेट पथ को उचित रूप से सेट करता है। मणि को फिर से स्थापित करने के रूप में समाधान उतना ही सरल है। $ gem uninstall pg $ cd my-rails-app/ $ bundle install

http://daniel.fone.net.nz/blog/2014/12/01/fixing-connection-errors-after-upgrading-postgres/


1
कृपया अपना उत्तर संपादित करें ताकि लिंक काम करना बंद कर दे तो यह मूल्य प्रदान करता है । आप इस बारे में मार्गदर्शन प्राप्त कर सकते हैं कि दूसरों द्वारा लिखित सामग्री को संदर्भ में यह कैसे ठीक से किया जाए । धन्यवाद।
पॉल व्हाइट

0

कमांड का उपयोग करके इसे अपडेट करें

  brew postgresql-upgrade-database

यदि आपको निम्न त्रुटि है तो 'काढ़ा' नहीं मिला, लेकिन इसके साथ स्थापित किया जा सकता है: sudo apt install linuxbrew-आवरण

फिर कमांड का उपयोग करके इसे स्थापित करें

 sudo apt install linuxbrew-wrapper

-3

नीचे दिए गए कदम मेरी मदद करते हैं:

शराब की भठ्ठी स्थापना रद्द करना postgresql काढ़ा स्थापित करना

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