मैक OSX पर DB शुरू नहीं हो रहा है: ERROR कहता है: यूनिक्स डोमेन सॉकेट पर कनेक्शन [बंद]


81

मैंने Postgresql को स्थापित किया और फिर अपने स्थानीय मैक OSX माउंटेन लायन पर रेल एप्लिकेशन का एक समूह चलाया और डेटाबेस बनाया आदि आज थोड़ी देर बाद जब मैंने pgAdminIII लॉन्च किया और डेटाबेस सर्वर लॉन्च करने का प्रयास किया तो मुझे यह त्रुटि मिली:

यहाँ छवि विवरण दर्ज करें

एक त्वरित Google ने इस पोस्ट को दिखाया । अधिक ब्राउज़िंग ने इस तथ्य की ओर इशारा किया कि किसी तरह का पोस्टमास्टर हो सकता है। पीआईडी ​​फ़ाइल जो आस-पास पड़ी है, उसका मूल कारण हो सकता है। अगर मैं हटाता हूं तो चीजें ठीक होंगी।

हालाँकि, इससे पहले कि मैं अपने कंप्यूटर पर सामान हटाने जाऊं, मैं यह सुनिश्चित करना चाहता हूं कि मैं इसे व्यवस्थित तरीके से डीबग करना चाहता हूं जिससे अधिक समस्या न हो।

कहीं मैंने पढ़ा है कि उस फ़ाइल को हटाने से पहले, मुझे यह कमांड चलाने की आवश्यकता है:

  ps auxw | grep post

अगर मुझे कोई परिणाम नहीं मिलता है, तो फ़ाइल को हटाने के लिए ठीक है। और नहीं। खैर, मुझे उस आदेश का यह परिणाम मिला:

  AM               476   0.0  0.0  2423356    184 s000  R+    9:28pm   0:00.00 grep post

तो अब बेशक Im उलझन में है।

तो मुझे क्या करना चाहिए?

यहां मेरे पोस्टग्रेज सर्वर एरर लॉग का हिस्सा है:

 FATAL:  lock file "postmaster.pid" already exists
 HINT:  Is another postmaster (PID 171) running in data directory "/usr/local/var/postgres"?

Postgresql अभी भी नहीं चल रहा है, अभी भी एक ही त्रुटि मिलती है और कुछ भी नहीं बदला है। एसओ पर जाँच किए बिना चीजों को हटाने के लिए भी चिकन चिकन।

आप में से कुछ विशेषज्ञ एक noob मार्गदर्शन कर सकते हैं।

धन्यवाद


पहला, मैं विशेषज्ञ नहीं हूं। उस ने कहा, ऐसा लगता है, आपका डेटाबेस ठीक से बंद नहीं हुआ था। मैं पीआईडी ​​फ़ाइल को हटा दूंगा और डेटाबेस को शुरू करने का प्रयास करूंगा।
fbynite

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

@banditKing आपको कभी भी हटाने की आवश्यकता नहीं होनी चाहिए postmaster.pid। यदि यह अमान्य (बासी) है, और यह डेटा सुरक्षा के लिए महत्वपूर्ण है, तो सर्वर इसे स्टार्टअप पर हटा देता है। कृपया बताएं कि आपने अपने कंप्यूटर पर PostgreSQL को कैसे स्थापित किया है - एंटरप्राइजडीबी इंस्टॉलर, होमब्रेव, पोस्टग्रैस.app के माध्यम से, क्या? PostgreSQL संस्करण का भी उल्लेख करें। अंत में, यदि आप स्पष्ट रूप से Pgadmin-III में कनेक्शन विकल्पों में "लोकलहोस्ट" जोड़ते हैं तो यह काम करता है? यदि ऐसा है, तो आप एक बहुत बुरा पैकेजिंग निर्णय द्वारा काट लिया जा रहा है Apple थोड़ी देर पहले बनाया ...
क्रेग रिंगर

@CraigRinger स्पष्ट करने के लिए धन्यवाद। मुझे याद नहीं है कि मैंने इसे कैसे स्थापित किया था, यह कुछ समय पहले था। क्या मै कुछ कर सकता हुं? या वहां का डेटा सिर्फ टेस्ट डेटा है, इसलिए सबसे खराब स्थिति, मैं अनइंस्टॉल और रीइंस्टॉल कर सकता हूं। किसी भी अच्छे ब्लॉग / ट्यूटोरियल को सही तरीके से कैसे करें?
बैंडिटकिंग

1
@banditKing ने रिबूट करने की कोशिश की? आप यह पहचान सकते हैं कि आपने इसे कैसे स्थापित किया है: wiki.postgresql.org/wiki/Installers/Mac_OS_X । ऐसा लगता है कि आपने शायद Homebrew का उपयोग किया है। यदि PostgreSQL सर्वर को हटाने में गलत तरीके से विफल हो रहा है, postmaster.pidतो आप इसे सत्यापित करने के बाद निकाल सकते हैं कि कोई postgresप्रक्रिया नहीं चल रही है, यह सिर्फ इतना महत्वपूर्ण है कि आप सुनिश्चित करें कि वास्तव में कोई PostgreSQL प्रक्रिया नहीं है। postmaster.pidहालांकि बासी को हटाने के लिए सर्वर की विफलता मेरे लिए एक बग की तरह लगती है।
क्रेग रिंगर

जवाबों:


193

मैक सिएरा पर मुझे आज भी यही समस्या थी। मैक सिएरा में आप postmaster.pidअंदर पा सकते हैं /Users/<user_name>/Library/Application Support/Postgres/var-9.6। हटाएं postmaster.pidऔर समस्या ठीक हो जाएगी।


19
postmaster.pidइस स्थान पर हटा दिया गया और समस्या ठीक हो गई। धन्यवाद!
जेएलएफ

1
यह भी वह जगह है जहाँ मुझे postmaster.pidफ़ाइल खोजने की आवश्यकता थी क्योंकि मैं Postgres.app का उपयोग कर रहा हूं
जर्सन

3
Postgres.app के लिए यह समान है: हो सकता है कि यह यहां स्थित हो/Users/<user>/Library/Application\ Support/Postgres/var-10/postmaster.pid
साइमन फ्रेंजन

1
मैं भी Postgres.app रनिंग v10 का उपयोग कर रहा हूं। यदि मेरा मैक एक अप्रत्याशित शटडाउन है जबकि पोस्टग्रैज चल रहा है तो मुझे कंप्यूटर को पुनरारंभ करने पर पोस्टमास्टर.पीड फ़ाइल को हटाने और हटाने की आवश्यकता है। क्या किसी को पता है कि क्या ऐप का अपेक्षित व्यवहार है? जानबूझकर अगर एक अजीब डिजाइन की तरह लगता है।
अलेक्जेंडर

सुनिश्चित करें कि इस फ़ाइल को निकालने से पहले प्रक्रिया को कम किया गया है। आप पीरियड cat postmaster.pidमें चला सकते हैं और आप पीआईडी ​​को गतिविधि मॉनीटर जैसी किसी चीज में नहीं चला सकते हैं। पोस्टग्रैज यूआई आपको इस बारे में सचेत करेगा, लेकिन मैंने सोचा कि मुझे इसे यहां डाल देना चाहिए इससे पहले कि लोग विली नीली हों और खुद को कैसे जांचें। postgresगतिविधि मॉनीटर में देखने के लिए और संबंधित किसी भी चीज को मारने के लिए पर्याप्त होना चाहिए , या बस अपने सिस्टम को पुनरारंभ करें और फिर फ़ाइल को हटा दें। ऐसा नहीं करने पर एक भ्रष्ट db
C

42

यह तब हो सकता है जब डेटाबेस सही ढंग से बंद नहीं हुआ। इसे ठीक करने के लिए बस postmaster.pidफ़ाइल को हटा दें । आपके OS के आधार पर स्थान भिन्न होता है:

मैक ओ एस:

 rm /Users/<user_name>/Library/Application\ Support/Postgres/var-9.6/postmaster.pid

या Postgres.app का उपयोग कर:

 rm /Users/<user>/Library/Application\ Support/Postgres/var-10/postmaster.pid

लिनक्स:

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

2
धन्यवाद, यह समाधान काम करता है! हटाने postmaster.pidऔर चलाने के बाद postgres -D /usr/local/var/postgres, यह मुझे त्रुटि के कारण के बारे में नोटिस करता है: "डेटाबेस सिस्टम को ठीक से बंद नहीं किया गया था, प्रगति में स्वचालित वसूली"
होआंग ले

इससे मेरी समस्या हल हो गई
फेब्रिस योफा

यह काम। मेरे मामले में, हार्ड रिबूट के कारण pid फ़ाइल नहीं निकली, इसलिए बस इसे वापस करना पड़ा।
जॉर्ज सी

21

मेरे पास अब डेटाबेस काम कर रहा है।

यहाँ मैंने जो कदम उठाए हैं:

  1. मैंने अपना कंप्यूटर रीबूट किया
  2. मैंने टर्मिनल खोला और भाग गया cd /
  3. फिर मैंने किया ls -la
  4. सुनिश्चित किया कि मुझे मिल सकता है MackintoshHD/usr/local/var/postgres
  5. फिर किया ls -la
  6. यहां मैंने पोस्टमास्टर.पीड फ़ाइल देखी
  7. मैंने इस कमांड को चलाया, cp postmaster.pid ~/Desktopजिसने फ़ाइल को मेरे डेस्कटॉप पर कॉपी कर लिया था। यदि मैं फ़ाइलों को हटा रहा हूं तो मैं ऐसा करना चाहता हूं। अगर कुछ गलत होता है तो मैं उसे वापस रख सकता हूं
  8. फिर मैंने पोस्टग्रेज डायरेक्टरी से फाइल को हटाने के लिए इस कमांड को चलाया rm -r postmaster.pid
  9. मैं अपने pgadmin3 गुई के पास गया और उसे निकाल दिया। और वोइला यह काम किया :)

उसकी मदद के लिए @ क्रेग रिंगर का धन्यवाद


6
मेरा / usr / local / var / postgres में नहीं था, लेकिन / Users / [myhome] / पुस्तकालय / अनुप्रयोग समर्थन / Postgres / var-9.5 / - में अंतिम निर्देशिका आपके संस्करण पर निर्भर करती है, postmaster.pid को हटा दिया और एक आकर्षण की तरह काम किया। धन्यवाद
राडेक

4

मैं Postgres.app का उपयोग कर रहा हूं, और नीचे मेरे लिए काम कर रहा है:

मैंने नीचे अपने टर्मिनल में कमांड दर्ज किया, पोस्टग्रैज फ़ोल्डर को पहले से पता लगाकर और "जस्टिन" का उपयोग नहीं किया।

$declare -x PGDATA="/Users/justin/Library/Application Support/Postgres/var-9.4"

$pg_ctl restart -m immediate

जैसा कि जस्टिन अपनी पोस्ट में बताते हैं, इसके बाद का आउटपुट था:

सर्वर बंद होने की प्रतीक्षा में …………………………………………………………………… विफल pg_ctl: सर्वर बंद नहीं होता है

फिर से कमांड दर्ज करने के बाद:

$pg_ctl restart -m immediate

यह काम किया और मुझे यह संदेश मिला:

pg_ctl: पुराना सर्वर प्रोसेस (PID: 373) लगता है कि सर्वर शुरू हो रहा है वैसे भी सर्वर लॉग शुरू होता है: डेटाबेस सिस्टम बाधित हुआ था; अंतिम बार 2015-07-28 18:15:26 पर पीडीटी लॉग: डेटाबेस सिस्टम को ठीक से बंद नहीं किया गया था; प्रगति में स्वत: पुनर्प्राप्ति लॉग: 0 / 4F0F7A8 लॉग पर शून्य लंबाई के साथ रिकॉर्ड: लॉग की आवश्यकता नहीं है लॉग: डेटाबेस सिस्टम कनेक्शन स्वीकार करने के लिए तैयार है लॉग: ऑटोवैक्यूम लांचर शुरू

स्रोत

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