PostgreSQL त्रुटि 'सर्वर से कनेक्ट नहीं हो सका: ऐसी कोई फ़ाइल या निर्देशिका नहीं'


136

कुछ अन्य लोगों की तरह मुझे भी यह त्रुटि हो रही है जब मैं रेक डीबी चलाता हूं: अपने प्रोजेक्ट में माइग्रेट करता हूं या यहां तक ​​कि रूबी 3.2 एप्लिकेशन पर मेरी रूबी के लिए अधिकांश डेटाबेस कार्यों का प्रयास करता हूं ।

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

मैंने PostgreSQL स्थापित किया साथ Homebrew एक लंबे समय पहले और का एक प्रयास किया स्थापना निम्नलिखित MongoDB हाल ही में मेरी PostgreSQL स्थापित एक ही कभी नहीं रहा। मैं OS X v10.6 स्नो लेपर्ड चला रहा हूं।

क्या गलत है और मैं कैसे बेहतर समझ सकता हूं कि PostgreSQL कैसे है और मेरे मैक पर सेटअप होना चाहिए?

अब तक (मुझे लगता है) यह मुझे बताता है कि PostgreSQL नहीं चल रहा है (?)।

ps -aef|grep postgres                                                                                                   (ruby-1.9.2-p320@jct-ana) (develop) 
  501 17604 11329   0   0:00.00 ttys001    0:00.00 grep postgres

लेकिन क्या यह मुझे बताता है कि PostgreSQL चल रहा है?

 launchctl load -w /usr/local/Cellar/postgresql/9.1.4/homebrew.mxcl.postgresql.plist                                                        (ruby-1.9.2-p136) 
homebrew.mxcl.postgresql: Already loaded

मैं यह कैसे तय करुं? मैं क्या नहीं देख रहा हूँ?

पुनश्च: ~/Library/LaunchAgentsदो PostgreSQL .plist फ़ाइलें शामिल हैं। मुझे यकीन नहीं है कि यह प्रासंगिक है।

org.postgresql.postgres.plist
homebrew.mxcl.postgresql.plist

मैंने निम्नलिखित की कोशिश की और नीचे के रूप में एक परिणाम मिला।

$ psql -p 5432 -h लोकलहोस्ट

psql: could not connect to server: Connection refused
    Is the server running on host "localhost" (127.0.0.1) and accepting
    TCP/IP connections on port 5432?
could not connect to server: Connection refused
    Is the server running on host "localhost" (::1) and accepting
    TCP/IP connections on port 5432?
could not connect to server: Connection refused
    Is the server running on host "localhost" (fe80::1) and accepting
    TCP/IP connections on port 5432?

मैंने तब से पढ़ा है कि यह ठीक हो रहा है क्योंकि OS X PostgreSQL का अपना संस्करण स्थापित करता है और Homebrew एक अलग स्थान पर एक अलग संस्करण स्थापित करता है और PostgreSQL कमांड / tmp / निर्देशिका में दिख रहे हैं। आपको स्टैक ओवरफ्लो पर और अधिक खोज करने की आवश्यकता होगी, लेकिन मूल रूप से आप PostgreSQL को सहानुभूति देते हैं ताकि उस tmp पथ में कुछ भी देखने पर वास्तव में वास्तविक पथ मिल जाए, यदि यह समझ में आता है।

यह वह कड़ी है जहां मुझे कुछ और चीजें मिलनी चाहिए , विशेष रूप से ऊपर के अनुसार सिमलिंक करते हुए, मैक ओएसएक्स लायन पोस्टग्रैज /tmp/.s.PGSQL.5432 पर कनेक्शन स्वीकार नहीं करता है । मैं अभी भी चाहता हूं कि कोई व्यक्ति पोस्ट एक्सरेक्यूएल को ओएस एक्स पर स्थापित करने के पीछे अवधारणाओं का एक सभ्य विवरण एक साथ रखे और यह सब इतना मुश्किल क्यों है।

समस्या निवारण में मदद करने के लिए नवीनतम अंतर्दृष्टि:

$ which psql // This tells you which PostgreSQL you are using when you run $ psql. 

फिर भागो:

$ echo $PATH

ध्यान रखने योग्य बात यह है:

सुनिश्चित करें कि PostgreSQL की प्रतिलिपि के लिए पथ प्रविष्टि आप OS X सिस्टम के PostgreSQL के पथ से पहले चलाना चाहते हैं।

यह एक मुख्य आवश्यकता है जो यह तय करती है कि PostgreSQL कौन सा चलता है और मुझे बताया गया है कि इनमें से अधिकांश मुद्दे हैं।


क्या आपने कभी इसके लिए कोई समाधान खोजा? मैं देख रहा हूँ कि आपने एक को चिह्नित नहीं किया है। इनमें से कोई भी मेरी मदद नहीं करता है।
एंड्रास गियोम्रे

यह अभी भी ज्यादातर काम करने के लिए वोडू और अजीब अवतार है। मैंने अभी कुछ और सुझावों के साथ एक लिंक के साथ [एडिट 2] जोड़ा है और अपने एडिट कमेंट्स के अनुसार सिमिलिंक कैसे किया जाता है। साइमलिंक ने अंत में मेरे लिए काम किया लेकिन मुझे लगता है कि मैंने भी रास्ते में पोस्टग्रेज और होमब्रे को अनइंस्टॉल और रीइंस्टॉल कर दिया, इसलिए यह जानना मुश्किल है कि वास्तव में क्या फर्क पड़ा। सौभाग्य। यदि आप कुछ नया खोजते हैं, तो इस रिपोर्ट पर 15,000 विचारों के साथ यह बहुत सारे लोगों को दर्द दे रहा है!
विकसित करें

@AndrasGyomrey मैं अभी ऑस्ट्रेलिया में RailsCamp15 से वापस आया हूं और लोगों ने कहा कि आपकी फ़ाइल को सही करने के लिए एक कुंजी थी, मैंने इसे समझाने के लिए ऊपर दिए गए संपादन 3 में संपादन किया है।
विकसित करें

इस बात का ध्यान रखें कि लॉंचक्टल रिपोर्टिंग को लोड किए जाने के रूप में आवश्यक नहीं है कि इसका मतलब है कि यह ऊपर और चल रहा है। आपको विकल्प के रूप में bigsql.com पर एक नज़र डालनी चाहिए ; मैक पर काम करता है और इसमें एक अच्छा प्रबंधन UI है।
जिम नस्बी

जवाबों:


102

जाँच करें कि आपकी पोस्ट निर्देशिका निर्देशिका में कोई पोस्टमास्टर नहीं है, शायद /usr/local/var/postgres/

इसे हटा दें और सर्वर शुरू करें।

Checkct - https://github.com/mperham/lunchy लॉन्चर के लिए एक बेहतरीन रैपर है।


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

2
मेरे लिए काम किया है, लेकिन newbs के लिए, क्या कोई समझा सकता है कि यह क्यों और कैसे सुरक्षित है
अलेक्जेंडर मिल्स

58

अगर आप OS X पर हैं तो " Postgres.app " एक बेहतर फिक्स है


यहाँ तय है:

  1. डेटाबेस बंद करो
  2. cd /var
  3. rm -r pgsql_socket
  4. ln -s /tmp pgsql_socket
  5. chown _postgres:_postgres pgsql_socket
  6. PostgreSQL को पुनरारंभ करें (आपका कंप्यूटर नहीं)

अधिक जानकारी " शेर देव पूर्वावलोकन 1 पर" पोस्टग्रेजल 9.0.3 पर उपलब्ध है ।


2
मेरे लिए त्रुटियाँ वापस आ गईं और इस फिक्स ने मदद नहीं की। मुझे लगता है कि वास्तव में क्या चल रहा है और खुद को ठीक करने के लिए एक प्रक्रिया को समझने के लिए काम करने में इम एक अंधेरे कमरे में चारों ओर टकरा रहा है। क्या आपके लिए यह बताना संभव होगा कि मैं इस मुद्दे का निदान और सुधार कैसे कर सकता हूं?
विकसित करें

मेरे लिये कार्य करता है। कुछ अजीब लगता है, जो /tmpकि _postgres, लेकिन हे :) को
धोखा देता है

postgresapp काम करता है, लेकिन मैं टर्मिनल में अपना सर्वर क्यों नहीं शुरू कर सकता? इस ऐप को छोड़ने के बाद, समस्या उम्मीद के मुताबिक वापस आती है।
हकुनामी

यह मेरे लिए काम करता है, लेकिन ध्यान दें कि आपको रूट होना चाहिए या # 2 को निष्पादित करने के लिए sudo का उपयोग करना चाहिए - 4. इसके अलावा, कृपया चरण # 5 को स्पष्ट करें - आपको केवल पोस्टग्रेज को पुनरारंभ करने की आवश्यकता है, न कि कंप्यूटर को।
mpelzsherman

2
बड़े अक्षर बेहतर उत्तर नहीं देते हैं।
होमब्रेव

55

मेरे लिए, यह काम करता है

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

9
मेरे मामले में, पिड को हटाने के बाद, मुझे पोस्टग्रैसिकल को फिर से शुरू करने की आवश्यकता थीpg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start
ओब्रोमिओस

4
मुझे पोस्टग्रेज को फिर से शुरू करना पड़ा, जब होमब्रे द्वारा स्थापित किया गया था, तो आप इसे इस तरह से कर सकते हैं:brew services restart postgresql
santuxus

2
मैं No such file or directoryअपने मामले में docker env
Sarz


13

यह मेरे लिए आपके द्वारा उल्लिखित त्रुटि के लिए काम किया। इनमें से एक करें :

  1. postgres.confफ़ाइल में निर्दिष्ट अपने डिफ़ॉल्ट पोर्ट को संभवतः बदल दें , यदि आपने 5432इंस्टॉल करते समय डिफ़ॉल्ट पोर्ट के अलावा कुछ और उपयोग किया है ।

  2. पोर्ट नंबर postgresql.confको डीबी सर्वर में बदल कर पुनः आरंभ करें।

  3. psqlपूर्ण कमांड टाइप करने के बजाय :

    psql -p 5432 -h localhost   
    • सर्वर का नाम और पोर्ट नं

1. मुझे लगता है कि मेरी स्थापना डिफॉल्ट के अनुसार हुई होगी।
विकसित करें

2. मैं इसे बदल सकता हूं, पोर्ट को बदलने के किसी भी निहितार्थ?
विकसित करें

3. ऊपर 3 से मेरा आउटपुट जोड़ा गया।
विकसित करें

विकल्प 3 ने कस्टम पोर्ट के साथ काम किया। क्योंकि मेरे पास कई pg सर्वर स्थापित हैं (PostgreSQL 9.1, 9.2 और 9.3), मुझे सही psll को भी इंगित करना था।
gpasse 21

11

यदि आप Homebrew चला रहे हैं, तो Postgresql अंत pg जवाहरात की स्थापना रद्द करें: *

$ gem uninstall pg
$ brew uninstall postgresql

/ Usr / स्थानीय पर अनुमति को ठीक करने के लिए निम्न स्क्रिप्ट डाउनलोड और चलाएं: * https://gist.github.com/rpavlik/768518

$ ruby fix_homebrew.rb

फिर Postgres फिर से स्थापित करें और पीजी रत्न: *

$ brew install postgresql  
$ initdb /usr/local/var/postgres -E utf8

लॉन्च रन पोस्टग्रैसक्ले को लॉगिन रन पर:

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

या मैन्युअल रूप से शुरू करें।

पीजी रत्न स्थापित करें

$ gem install pg

मुझे आशा है कि मदद की होगी


से brew info postgres:ARCHFLAGS="-arch x86_64" gem install pg
.देव ’27

1
यह db में रिकॉर्ड नहीं हटाएगा?
किबेकर

initdb /usr/local/var/postgres -E utf8काम करता है। बहुत बहुत धन्यवाद।
क्रिस जीन

8

मुझे वह समस्या थी जब मैंने पोस्टग्रेज को 9.3.x में अपग्रेड किया। मेरे लिए जल्दी ठीक करने के लिए जो भी पहले था 9.2.x संस्करण को डाउनग्रेड करना था (कोई नया स्थापित करने की आवश्यकता नहीं)।

$ ls /usr/local/Cellar/postgresql/
9.2.4
9.3.2
$ brew switch postgresql 9.2.4
$ launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
$ launchctl load ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
<open a new Terminal tab or window to reload>
$ psql

" Homebrew सूत्र का विशिष्ट संस्करण स्थापित करते हैं? " समस्या को ठीक करने के लिए वैकल्पिक तरीकों के साथ-साथ बहुत अधिक व्यापक विवरण प्रदान करता है।


योगदान और स्पष्ट निर्देशों के लिए धन्यवाद अपने फिक्स को दोहराने के लिए। यह सुनिश्चित करें कि आपने जो लिंक शामिल किया है, वह व्यापक है, Im वर्तमान में पोस्टग्रेज के साथ समस्या नहीं है इसलिए यह सुनिश्चित नहीं है कि यह दूसरों के लिए अभी तक कितना उपयोगी है, लेकिन किसी और के लिए यदि आपको यह उपयोगी लगता है, तो कृपया यहां टिप्पणी करें।
विकसित करें

मुझे यह उपयोगी और प्रासंगिक लगता है, हालांकि शायद सीधे नहीं। उन्होंने केवल स्विचिंग संस्करणों द्वारा समस्या का हल किया, काढ़ा का उपयोग करते हुए, जो एक काफी सामान्य उपकरण है, और बस चरणों को दोहराया, अब तक, महान, लिंक को काढ़ा करने के लिए विशिष्ट मुद्दों में मिलता है, हालांकि, इसलिए मैं आपके प्रश्न को देख सकता हूं यह मूल्य है ओपी के सवाल के संदर्भ में।
२०:४६

7

मैंने पोस्टग्रेज को अपग्रेड करके इसे ठीक किया।

brew update
brew upgrade

फिर मुझे नए प्रमुख संस्करण के साथ संगत होने के लिए डेटाबेस को भी अपग्रेड करना पड़ा, क्योंकि मैंने 10 से 11 तक उन्नत किया।

brew postgresql-upgrade-database

(स्रोत https://github.com/facebook/react-native/issues/18760#issuecomment-410535381 )


मुझे यह त्रुटि मिली: कोई पोस्टग्रेक्टल 9.3 नहीं। * संस्करण स्थापित!
नूर्जा

5

तो यहाँ बहुत सारे मुद्दों के लिए, ऐसा लगता है कि लोग पहले से ही psql चला रहे थे और उन्हें हटाना पड़ा postmaster.pid। हालाँकि, मेरे पास वह मुद्दा नहीं था क्योंकि मैंने कभी अपने सिस्टम में पोस्टग्रेज को ठीक से स्थापित नहीं किया था।

यहाँ एक समाधान है कि मेरे लिए MAC OSX Yosemite में काम किया है

  1. मैं http://postgresapp.com/ पर गया और ऐप डाउनलोड किया।
  2. मैंने एप्लिकेशन को एप्लिकेशन / निर्देशिका में स्थानांतरित कर दिया
  3. मैंने इसे .bashrc या .bash_profile या .zshrc में जोड़कर $ PATH में जोड़ा: export PATH=$PATH:/Applications/Postgres.app/Contents/Versions/latest/bin
  4. मैंने एप्लिकेशन निर्देशिका से पोस्टग्रैजेट्स को फिर से चलाया और कमांड को फिर से चलाया।

उम्मीद है की यह मदद करेगा! टूडल्स!

साथ ही, इस उत्तर ने मुझे सबसे अधिक मदद की: https://stackoverflow.com/a/21503349/3173748


क्या यह काढ़ा स्थापना के बजाय पोस्टग्रेज ऐप की ओर इशारा नहीं करता है? यह आपको कुछ मददगार पैकेजों से काट सकता है (उदाहरण के लिए pgrout, जिसे आप Postgres ऐप के लिए इंस्टॉल नहीं कर सकते हैं जिससे मुझे अंतहीन दुःख हुआ है और अब मैं यहाँ हूँ)
allthesignals

4

जब आप चलाते हैं: psql -p 5432 -h लोकलहोस्ट यह लूपबैक ड्राइवर का उपयोग नहीं करता है लेकिन एक वास्तविक सॉकेट का उपयोग करता है और इसलिए आपको सॉकेट कनेक्शन को स्वीकार करने के लिए पोस्टग्रेज को कॉन्फ़िगर करने की आवश्यकता होती है। इसलिए भले ही pgadmin और अन्य क्लाइंट काम कर सकते हैं, psql नहीं होगा।

आपको postgresql.conf फ़ाइल और pg_hba.conf दोनों फ़ाइलों को बदलने की आवश्यकता है ताकि वास्तविक सॉकेट पर कनेक्शन की अनुमति दें। यह एक दूरस्थ आईपी से कनेक्शन की अनुमति देगा, यही वजह है कि यह डिफ़ॉल्ट रूप से अक्षम है।

ये फाइलें डेटा निर्देशिका में हैं, लेकिन पोस्टग्रेज कैसे स्थापित किया गया था, इसके आधार पर वास्तविक स्थान भिन्न हो सकता है। पोस्टग्रेज रनिंग के साथ, कमांड चलाएं:

ps -ef | grep postmaster

ये दो फाइलें हैं -D निर्देशिका (शायद / usr / स्थानीय / pgsql / डेटा)।

Postgresql.conf फ़ाइल के लिए, Listen_address को अनइंस्टॉल करें और इसे बदल दें:

listen_address = '*'

Pg_hba.conf के लिए लाइन जोड़ें:

host all all 0.0.0.0/0 md5

2

मैं वास्तव में मैक या होमब्रे को नहीं जानता, लेकिन मैं पोस्टग्रेक्यूएल को बहुत अच्छी तरह से जानता हूं।

आप यह पता लगाना चाहते हैं कि लॉग कहाँ से शुरू करने की कोशिश कर रहा है और पोस्टग्रेक्ज़ के लिए सॉकेट निर्देशिका क्या है। डिफ़ॉल्ट रूप से जब आप PG बनाते हैं, तो सॉकेट डायरेक्टरी / tmp / होती है। यदि आपने पीजी का निर्माण किया है और फिर आपने पीजी शुरू किया है, तो आप बदल नहीं सकते हैं, यदि आप ऐसा करते हैं तो आपको सॉकेट फ़ाइल देखने में सक्षम होना चाहिए: ls -al / tmp

सॉकेट फ़ाइल एक "।" से शुरू होती है, इसलिए आप इसे '-a' से ls में नहीं देखेंगे।

यदि आपको वहां सॉकेट नहीं दिखता है, और आप ps awux से कुछ नहीं देखते हैं | grep स्थगित हो जाता है, तो PG शायद नहीं चल रहा है, या शायद यह है और यह OSX- स्थापित है। यह क्या हो सकता है कि आपको लोकलहोस्ट पर पोर्ट 5432 पर सुनने पर विरोध हो रहा हो- नेटस्टैट -anp का उपयोग करके देखें कि क्या, यदि कुछ भी, 5432 पर सुन रहा है। यदि मैक ओएसएक्स पीजी पहले से ही उस पोर्ट पर सुन रहा है तो वह हो सकता है। समस्या हो।

उम्मीद है की वो मदद करदे। मैंने सुना है कि homebrew चीजों को थोड़ा बदसूरत बना सकता है और बहुत से लोग जिनसे मैंने वीएम का उपयोग करने के लिए प्रोत्साहित करने के लिए बात की है।


इस पर योगदान देने के लिए धन्यवाद। यदि यह आपको थोड़ी अधिक पृष्ठभूमि देने में मदद करता है, तो होमब्रे केवल पोस्टग्रेज स्थापित करते समय इस स्क्रिप्ट को चलाता है। github.com/Homebrew/homebrew-core/blob/master/Formula/… मैं उम्मीद कर रहा हूं कि आप इसे देख सकते हैं और संभवतः जो कुछ भी आप पाते हैं उससे आगे की जानकारी साझा करें। मुझे लगता है कि लोगों को ज़रूरत है कि डिबग करने का एक आसान तरीका है कि उन्हें यह त्रुटि क्यों हो रही है, इसलिए उन्हें पता है कि क्या कार्रवाई करनी है।
विकसित करें

उस स्क्रिप्ट के बारे में जो मैं समझ सकता हूं, उसके आधार पर, संभवतः "HOMEBREW_PREFIX" के तहत "var" डायरेक्टरी में एक "postgres.log" है। उस लॉग फ़ाइल में प्रारंभ करने के लिए पीजी के बारे में जानकारी शामिल होगी (यदि यह किसी कारण से शुरू करने में विफल रहा है)। यहाँ एक उदाहरण संदेश दिखाया गया है जो पीजी को 5432 पोर्ट पर सुनने की एक अन्य प्रक्रिया के कारण शुरू होने में विफल रहा है:
स्टीफन फ्रॉस्ट

2016-12-19 09: 11: 59.582 ईएसटी [20669] लॉग: आईपीवी 4 सॉकेट को बाँध नहीं सकता: 2016-12-19 09: 11: 59.582 ईएसटी [20669] में पहले से ही पता: HINT: एक और पोस्टमास्टर पहले से ही पोर्ट 5432 पर चल रहा है ? यदि नहीं, तो कुछ सेकंड रुकें और फिर से प्रयास करें। 2016-12-19 09: 11: 59.582 ईएसटी [20669] चेतावनी: "लोकलहोस्ट" के लिए सुन सॉकेट नहीं बना सके 2016-12-19 09: 11: 59.582 ईएसटी [20669] FATAL: कोई टीसीपी / आईपी सॉकेट्स 2016 नहीं बना सका -12-19 09: 11: 59.582 ईएसटी [20669] लॉग इन करें: डेटाबेस सिस्टम बंद हो गया है
स्टीफन फ्रॉस्ट

इसके अलावा, ऐसा लगता है कि स्क्रिप्ट डिफ़ॉल्ट सॉकेट निर्देशिका को नहीं बदलती है, इसलिए इसे / tmp / होना चाहिए। आप पीजी डेटा डायरेक्टरी (जो {HOMEBREW_PREFIX} / var / postgres) में पोस्टग्रैसक्.कॉन्फ़ फ़ाइल के लिए देख सकते हैं और "unix_socket_directories" को देख सकते हैं। यह डिफ़ॉल्ट रूप से टिप्पणी की जाती है, लेकिन इसमें डिफ़ॉल्ट सेट होता है, जैसे:
स्टीफन फ्रॉस्ट

#unix_socket_directories = '/ tmp' # अल्पविराम द्वारा अलग-अलग निर्देशिकाओं की सूची
स्टीफन फ्रॉस्ट

2

होमबॉव का उपयोग करते हुए मैक 10.15.5 पर चलने पर मुझे इस त्रुटि का सामना करना पड़ा।

पोस्टमास्टर.पीड नामक एक फाइल है जिसे पोस्टरेस्कल से बाहर निकलने पर स्वचालित रूप से हटा दिया जाना चाहिए।

यदि यह निम्नलिखित नहीं करता है

  • काढ़ा भ्रष्ट हो सकता है इससे पहले कि बाहर निकलने के लिए असफल हो रही है
  • सुडो rm /usr/local/var/postgres/postmaster.pid

1

कारण

शेर पहले से स्थापित पोस्टग्रेज के एक संस्करण के साथ आता है और डिफ़ॉल्ट रूप से उन बायनेरिज़ का उपयोग करता है। सामान्य तौर पर आप होमब्रेव पोस्टग्रेज बायनेरिज़ के लिए पूर्ण पथ का उपयोग करके इसे प्राप्त कर सकते हैं, लेकिन अन्य कार्यक्रमों के साथ अभी भी समस्याएँ हो सकती हैं।

समाधान

कर्ल http://nextmarvel.net/blog/downloads/fixBrewLionPostgres.sh | श

के जरिए

http://nextmarvel.net/blog/2011/09/brew-install-postgresql-on-os-x-lion/


1

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

$psql -h localhost 

सर्वर को पुनरारंभ करने के लिए।


1

नमस्कार दुनिया :)
मेरे लिए सबसे अच्छा लेकिन अजीब तरीका था अगली बातें करना।

1) Postgres93.app या अन्य संस्करण डाउनलोड करें । इस एप्लिकेशन को / एप्लिकेशन / फ़ोल्डर में जोड़ें।

2) फ़ाइल में एक पंक्ति (कमांड ) जोड़ें.bash_profile (जो मेरे होम डायरेक्टरी में है):

निर्यात पथ = / अनुप्रयोग / Postgres93.app / सामग्री / MacOS / बिन /: $ पथ
यह एक पथ से psqlहै Postgres93.app। हर बार कंसोल चालू होने पर पंक्ति (कमांड) चलती है।

3) फ़ोल्डर Postgres93.appसे लॉन्च करें /Applications/। यह एक स्थानीय सर्वर शुरू करता है (पोर्ट "5432" है और होस्ट "लोकलहोस्ट" है)।

4) इस सारी जोड़तोड़ के बाद मुझे चलाने $ createuser -SRDP user_nameऔर अन्य आदेशों को देखने में खुशी हुई और यह देखने के लिए कि यह काम करता है! Postgres93.appआपके सिस्टम के शुरू होने पर हर बार चलाने के लिए बनाया जा सकता है।

5) इसके अलावा अगर आप अपने डेटाबेस को ग्राफिक रूप से देखना चाहते हैं तो आपको इंस्टॉल करना चाहिए PG Commander.app। यह आपके पोस्ट DB को सुंदर डेटा-टेबल के रूप में देखने का अच्छा तरीका है

बेशक, यह केवल स्थानीय सर्वर के लिए उपयोगी है। मुझे खुशी होगी अगर यह निर्देश दूसरों की मदद करेगा जिन्होंने इस समस्या का सामना किया है।


1

मेरे पास PostgreSQL 9.3 था और उसे वही त्रुटि मिली,

सर्वर से कनेक्ट नहीं हो सका: कनेक्शन अस्वीकार कर दिया गया है क्या सर्वर "लोकलहोस्ट" (127.0.0.1) पर होस्ट कर रहा है और पोर्ट 5432 पर टीसीपी / आईपी कनेक्शन स्वीकार कर रहा है?

मैंने इसका उपयोग करके तय किया:

chmod 777  /var/lib/pgsql/9.3/data/pg_hba.conf 
service postgresql-9.3 restart

इससे मेरा काम बनता है।


यह फाइल मेरे लिए मौजूद नहीं है
allthesignals

1

जब यह लायक है, तो मैंने अपनी फ़ाइल में ( ) के md4बजाय एक टाइपो होने पर इस त्रुटि का अनुभव किया था ( )md5pg_hba.conf/etc/postgresql/9.5/main/pg_hba.conf

यदि आप यहाँ थे जैसा कि मैंने किया था, उस फ़ाइल को एक बार जांचने के लिए सुनिश्चित करें कि वहाँ कुछ भी हास्यास्पद नहीं है।


pg_hba.confफाइल कहाँ है
बुबकज़ौआ

1
/etc
Aidan Melen

0

स्थानीय स्तर पर PostgreSQL चलाने के साथ विभिन्न समस्याएं हो सकती हैं। मैं स्थापित किए गए पोस्टग्रेज के सभी संस्करणों को साफ करने और नए सिरे से शुरू करने की सिफारिश करूंगा। एक बार जब आप इसे स्थापित कर लेते हैं, तो अपने डेटाबेस को फिर से बनाना बहुत आसान है यदि आपके पास अप टू डेट के साथ अपनी रेल परियोजना हैdb/schema.rb

यहाँ है कि मैं आमतौर पर एक मैक पर PostgreSQL कैसे स्थापित करता हूं । यदि आप अपना डेटाबेस स्थानीय रूप से रूट उपयोगकर्ता के अंतर्गत चला रहे हैं, तो आप अंतिम चरण को छोड़ सकते हैं जो todoउपयोगकर्ता बनाता है


0

इसका एक कारण यह भी हो सकता है

unix_socket_directories postgresql.conf फ़ाइल में उस निर्देशिका के साथ सूचीबद्ध नहीं है जिसे वह ढूंढ रहा है।

प्रश्न उदाहरण में यह निर्देशिका / tmp की तलाश में है, इसे postgresql.conf फ़ाइल में प्रदान किया जाना है

कुछ इस तरह:

unix_socket_directories = '/var/run/postgresql,/tmp'    # comma-separated list of directories

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


0

यदि आप MacOS पर हैं और होमब्रे का उपयोग कर रहे हैं तो मुझे यह उत्तर बेहद मददगार लगा:

https://stackoverflow.com/a/27708774/4062901

मेरे लिए, मेरा सर्वर चल रहा था लेकिन एक अपग्रेड के कारण मुझे कनेक्ट करने में समस्या हो रही थी (ध्यान दें: मैं काढ़ा सेवाओं का उपयोग करता हूं)। यदि पोस्टग्रैज चल रहा है, तो कोशिश करें cat /usr/local/var/postgres/server.logऔर देखें कि लॉग क्या कहते हैं। मेरी त्रुटि एक माइग्रेशन थी, कनेक्शन समस्या नहीं।

इसके अलावा मैनुअल माइग्रेशन के बाद वे प्रस्तावित करते हैं (जो काम करता है लेकिन) मैंने पाया कि मेरे उपयोगकर्ता के लिए अब कोई तालिका नहीं थी। इसे ठीक करने के लिए इस कमांड को आज़माएँ: createdb( psql के माध्यम से उत्तर दिया : FATAL: डेटाबेस "<उपयोगकर्ता>" मौजूद नहीं है )


0

जैसे ही रनिंग के द्वारा त्रुटि दिखाई देती है, brew services restart postgresqlतो पुनः आरंभ करें और फिर पुनः प्रयास करें


0

मेरे लिए कमांड के rm /usr/local/var/postgres/postmaster.pidकारण काम नहीं किया, मैंने होमब्रे के साथ पोस्टग्रैक्स्ल का एक विशिष्ट संस्करण स्थापित किया।

सही आदेश है rm /usr/local/var/postgres@10/postmaster.pid

तब brew services restart postgresql@10


-5

यह बहुत सरल है। केवल अपने database.yaml फ़ाइल में होस्ट जोड़ें।


होस्ट: 127.0.0.1 या होस्ट: उदाहरण के लिए लोकलहोस्ट।
रिकार्डो - नेक्स्ट

हर कोई एक सरल उपाय प्यार करता है। लेकिन यह कैसे काम करता है? जैसा कि मैंने ऊपर अपनी टिप्पणियों में कहा है, इस पर खोज करने से मुझे कई जटिल मार्ग मिल गए हैं। क्या आप कुछ हद तक विस्तृत कर सकते हैं और हमें कुछ और पृष्ठभूमि दे सकते हैं जैसे कि आप वास्तव में इस मुद्दे को देखते हैं और यह सरल परिवर्तन कैसे समस्या को संबोधित करता है। इस पर योगदान देने के लिए धन्यवाद! :)
विकसित करें

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