PostgreSQL
 sql >> डेटाबेस >  >> RDS >> PostgreSQL

psql:सर्वर से कनेक्ट नहीं हो सका:ऐसी कोई फ़ाइल या निर्देशिका नहीं (Mac OS X)

चेतावनी:यदि आप यह सुनिश्चित किए बिना postmaster.pid को हटा देते हैं कि वास्तव में कोई postgres नहीं है आपको चलाने वाली प्रक्रियाएं, आपके डेटाबेस को स्थायी रूप से दूषित कर सकती हैं . (यदि पोस्टमास्टर बाहर निकल गया है तो PostgreSQL इसे स्वचालित रूप से हटा देना चाहिए।)।

समाधान:इससे समस्या ठीक हो गई--मैंने इस फ़ाइल को हटा दिया, और फिर सब कुछ काम कर गया!

/usr/local/var/postgres/postmaster.pid

--

और यहां बताया गया है कि मुझे कैसे पता चला कि इसे हटाने की आवश्यकता क्यों है।

  1. मैंने निम्नलिखित कमांड का उपयोग यह देखने के लिए किया कि क्या कोई पीजी प्रक्रिया चल रही है। मेरे लिए कोई नहीं था, मैं पीजी सर्वर भी शुरू नहीं कर सका:

    ps auxw | grep post
    
  2. मैंने फ़ाइल .s.PGSQL.5432 की खोज की जो ऊपर त्रुटि संदेश में थी। मैंने निम्नलिखित कमांड का उपयोग किया:

    sudo find / -name .s.PGSQL.5432 -ls
    

    यह मेरे पूरे कंप्यूटर को खोजने के बाद कुछ भी नहीं दिखा, इसलिए फ़ाइल मौजूद नहीं थी, लेकिन स्पष्ट रूप से psql "इसे चाहता था" या "सोचा कि यह वहां था"।

  3. मैंने अपने सर्वर लॉग पर एक नज़र डाली और निम्न त्रुटि देखी:

    cat /usr/local/var/postgres/server.log
    

    सर्वर लॉग के अंत में मुझे निम्न त्रुटि दिखाई देती है:

    FATAL:  pre-existing shared memory block (key 5432001, ID 65538) is still in use
    HINT:  If you're sure there are no old server processes still running, remove the shared memory block or just delete the file "postmaster.pid".
    
  4. त्रुटि संदेश में सलाह के बाद, मैंने उसी निर्देशिका में postmaster.pid फ़ाइल को हटा दिया है जिसमें server.log है। इससे समस्या का समाधान हो गया और मैं पुनः आरंभ करने में सक्षम हुआ।

तो, ऐसा लगता है कि मेरी मैकबुक फ्रीजिंग और हार्ड-रिबूट होने के कारण पोस्टग्रेस को लगता है कि रीबूट के बाद भी यह प्रक्रियाएं अभी भी चल रही थीं। इस फ़ाइल को हटाने का समाधान किया गया। आशा है कि यह दूसरों की मदद करता है! बहुत से लोगों के पास समान मुद्दे हैं लेकिन अधिकांश उत्तर फ़ाइल अनुमतियों से संबंधित थे, जबकि मेरे मामले में चीजें अलग थीं।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. तत्वों की PostgreSQL सरणी जो प्रत्येक एक विदेशी कुंजी है

  2. LIMIT 1 . के साथ अनुक्रमित ORDER BY

  3. माता-पिता से पूछताछ करते समय एक पंक्ति की स्रोत तालिका का नाम प्राप्त करें

  4. किसी फ़ील्ड में PostgreSQL अनुक्रम बनाना (जो रिकॉर्ड की आईडी नहीं है)

  5. कैसे Justify_interval () PostgreSQL में काम करता है