2012-12-13 18 views
81

मैंने ओएस एक्स सर्वर का उपयोग कर शेर सर्वर से माउंटेन शेर में अपने मैकमिनी सर्वर को अपग्रेड किया। मुझे PostgreSQL के साथ एक ही समस्या है जो मैंने पिछले साल किया था जब मैंने पहली बार शेर सर्वर स्थापित किया था।सॉकेट फ़ाइल "/var/pgsql_socket/.s.PGSQL.5432" माउंटेन शेर (ओएस एक्स सर्वर) में लापता

जब मैं PostgreSQL टर्मिनल आदेश के किसी भी प्रकार से करने की कोशिश मैं निम्नलिखित कुख्यात त्रुटि संदेश कई वर्षों से मिल गया है मिलती है:

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"? 

मैं _postgres के लिए पासवर्ड परिवर्तित करने का प्रयास कर रहा था जब मैं मिला त्रुटि। मैंने कई आदेशों की कोशिश की लेकिन मुझे एक ही त्रुटि मिली। मैंने बस अपने सर्वर को रिबूट किया लेकिन कोई भाग्य नहीं। मैंने/var/pgsql_socket को देखने के लिए रूट के रूप में लॉग इन किया है और फ़ोल्डर खाली है। फ़ोल्डर/var/pgsql_socket_alt भी खाली है।

मैंने इस बारे में ऑनलाइन जांच की है। हालांकि स्टैक ओवरफ्लो सहित, मैंने जो भी समाधान पढ़े हैं, उनके बारे में पोस्टग्रेएसक्यूएल को हटाने और पुनर्स्थापित करने का सुझाव दिया गया है। मुझे नहीं पता लेकिन यह एक व्यावहारिक विकल्प की तरह प्रतीत नहीं होता है क्योंकि सर्वर ऐप पर कई विकल्प PostgreSQL का उपयोग करते हैं। मैंने ऐप्पल एंटरप्राइज़ सपोर्ट (कोई समझौता नहीं) से संपर्क किया और मुझे बताया गया कि मेरे मुद्दे को डेवलपर्स द्वारा हल किया जाना होगा जो $ 695 कास्ट करेंगे।

मेरे पास एक ऐसी वेबसाइट है जो अभी नीचे है क्योंकि मैं इसे पुनर्निर्माण नहीं कर सकता। मुझे नहीं पता कि इस बिंदु पर इस के साथ मदद के लिए कहां बारी है। मैं यह देखने के लिए ऑनलाइन देख रहा हूं कि मुझे कुछ मिल सकता है या नहीं। हालांकि मुझे उम्मीद है कि कोई मुझे जल्दी उत्तर दे सकता है ताकि मैं अपना डेटाबेस पुनर्निर्माण कर सकूं।

अद्यतन: 2012/12/13 15:33 GMT-6

यहाँ है ps auwwx के लिए मेरे उत्पादन | ग्रेप postg:

_postgres  28123 0.0 0.1 2479696 7724 ?? Ss 3:01PM 0:00.04 /Applications/Server.app/Contents/ServerRoot/usr/bin/postgres_real -D /Library/Server/PostgreSQL For Server Services/Data -c listen_addresses= -c log_connections=on -c log_directory=/Library/Logs/PostgreSQL -c log_filename=PostgreSQL_Server_Services.log -c log_line_prefix=%t -c log_lock_waits=on -c log_statement=ddl -c logging_collector=on -c unix_socket_directory=/Library/Server/PostgreSQL For Server Services/Socket -c unix_socket_group=_postgres -c unix_socket_permissions=0770 
server1  28216 0.0 0.0 2432768 620 s000 R+ 3:02PM 0:00.00 grep postg 
_postgres  28138 0.0 0.0 2439388 752 ?? Ss 3:01PM 0:00.01 postgres: stats collector process       
_postgres  28137 0.0 0.0 2479828 1968 ?? Ss 3:01PM 0:00.00 postgres: autovacuum launcher process       
_postgres  28136 0.0 0.0 2479696 544 ?? Ss 3:01PM 0:00.00 postgres: wal writer process       
_postgres  28135 0.0 0.0 2479696 732 ?? Ss 3:01PM 0:00.01 postgres: writer process       
_postgres  28134 0.0 0.0 2479696 592 ?? Ss 3:01PM 0:00.00 postgres: checkpointer process       
_postgres  28131 0.0 0.0 2439388 368 ?? Ss 3:01PM 0:00.00 postgres: logger process 

अद्यतन: 2012/12/13 18 : 10 जीएमटी-6

तीव्र वेब इस वीडियो को खोज के बाद मिला था। मैं PostgreSQL काम करने और त्रुटि को हटाने में सक्षम था। मैं pgadmin और phppgadmin का उपयोग कर कनेक्ट करने में सक्षम हूँ। मैं बेहद निराशा के कारण शेर सर्वर पर वापस जाने वाला था। अब मुझे नहीं करना पड़ेगा।

http://www.youtube.com/watch?v=y1c7WFMMkZ4

+22

आपका मुद्दा तथ्य PostgreSQL के 'psql' के मैक ओएस एक्स पहले से स्थापित संस्करण संस्करण आप स्थापित करने से पहले अपने' PATH' पर है कि करने के लिए निर्भर करता है। वे अलग-अलग स्थानों में यूनिक्स सॉकेट की तलाश करते हैं। या तो '-h localhost' निर्दिष्ट करके टीसीपी/आईपी का उपयोग करें या अधिमानतः अपने' पथ 'को ठीक करें ताकि सही' psql' पहले पाया जा सके। पोस्टग्रेएसक्यूएल को न केवल बंडल करने के लिए ऐप्पल के विचित्र निर्णय, लेकिन इसके साथ गड़बड़ है ताकि यह गैर-मानक स्थानों में चीजें डाल सके इस समस्या का मूल कारण है। –

+2

ओएसएक्स में एक जारी मुद्दा है, जहां पैकर्स ने सामान्य से अलग जगह पर यूनिक्स-डोमेन सॉकेट डालने का निर्णय लिया। मुझे खोजने दो ... BRB ... http://stackoverflow.com/a/8482546/905902 – wildplasser

+0

मैंने .bashrc में एक पुराना पाथ कॉपी किया। मैंने postgreSQL का एक और संस्करण स्थापित नहीं किया है। यहां मेरा पथ विवरण है जिसमें आरवीएम के लिए कोड शामिल है। अगर कोई मुझे बता सकता है कि इसे बदलने के लिए मैं क्या करूँगा। जब मैं करता हूं कि कौन सा psql यह/usr/bin/psql में पाया जाता है। आपकी मदद के लिए आप सभी के लिए बहुत बहुत धन्यवाद। पाथ = "$ पाथ: $ HOME/.rvm/bin:/usr/bin/psql:/usr/local:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/बिन " मैं रूट के रूप में लॉग इन करते समय सॉकेट फ़ाइल की खोज भी कर रहा हूं। –

उत्तर

2

आप अपने postgresql.conf फ़ाइल की जाँच कर सकते हैं ??

क्या पोर्ट अपने postgres पर चल रहा है ??

मुझे लगता है कि यह बंदरगाह पर नहीं चल रहा है 5432.If 5432

करने या टर्मिनल उपयोग

psql -U postgres -p YOUR_PORT_NUMBER database_name 
+1

मैं टर्मिनल कमांड नहीं चला सकता। मुझे समान त्रुटि मिली। मुझे postgresql.conf फ़ाइल कहां मिल सकती है, इस पर सहायता चाहिए। शेर सर्वर चलाते समय मेरे पास एक/var/pgsql फ़ोल्डर होता था। मुझे लगता है कि अब चला गया है। मैंने बस ps grep कमांड के लिए अपना आउटपुट पोस्ट किया है। PostgreSQL चलाने के लिए मैंने विकी सेवा चालू की। मुझे बताया गया था कि मैं किसी भी सर्वर ऐप सेवाओं को चालू किए बिना सुडो सर्वरडमिन कमांड का उपयोग कर सकता हूं लेकिन वे काम नहीं करते हैं। मैं अभी रूट के रूप में लॉग इन हूं इसलिए मुझे कुछ भी करने में सक्षम होना चाहिए :) मैंने नेटवर्क उपयोगिता में बंदरगाहों की जांच की। 5432 इस्तेमाल नहीं किया गया। –

0

पर इसे बदल नहीं यह मुझे कुछ समय लिया, लेकिन मैं अंत में करने के बाद इस काम कर प्राप्त करने में सक्षम था प्रस्तावित सुझावों और अतिरिक्त वेब खोजों के माध्यम से जा रहा है। मैं Mactasia द्वारा बनाई निम्न YouTube वीडियो में जानकारी का उपयोग किया:

http://www.youtube.com/watch?v=y1c7WFMMkZ4

जब मैं ऐसा किया मैं विस्तार के रूप में .lock के साथ फाइल को देखा। हालांकि जब मैंने पोस्टग्रेएसक्यूएल का उपयोग करके अपने रेल एप्लिकेशन पर काम करना शुरू किया, तो मैंने रेल सर्वर को शुरू करने का प्रयास किया जब भी मुझे त्रुटि मिली। इस बार मुझे एक अनुमति मिली त्रुटि से इनकार कर दिया।यह वह जगह है जब मुझे याद है न केवल मैं plist में listen_addresses बदलने की क्या ज़रूरत थी कि लेकिन मैं यह भी 0777. को unit_socket_permissions बदलने के लिए मैं भी जड़ मैं कहाँ पर उस तक पहुँच सकता है var/pgsql_socket फ़ोल्डर पर अनुमतियों को बदलने के लिए रूप में लॉग इन किया था उपयोगकर्ता स्तर। पोस्टग्रेस अभी ठीक काम कर रहा है। मैं अपने SQL बैकअप से अपने डेटा को पुनः लोड करने की प्रक्रिया में हूं।

जो मुझे समझ में नहीं आया था कि जब मैंने पोस्टग्रेएसक्यूएल पर विकी चालू की थी तो मुझे लगता था कि जब मैंने एक सूडो सर्वरडमिन फुलस्टैटस पोस्टग्रेज़ किया था लेकिन मुझे अभी भी त्रुटि मिली है। ओह अच्छा।

export PGHOST=localhost 

यह because काम करता है::

258

मैं त्रुटि को रोकने के लिए मेरी .bash_profile के लिए निम्न जोड़ने के लिए सक्षम था

If you omit the host name, psql will connect via a Unix-domain socket to a server on the local host, or via TCP/IP to localhost on machines that don't have Unix-domain sockets.

आपका ओएस यूनिक्स डोमेन सॉकेट का समर्थन करता है, लेकिन PostgreSQL के यूनिक्स सॉकेट कि psql की आवश्यकता है या तो मौजूद नहीं है या अपेक्षा की तुलना में एक अलग स्थान पर है।

टीसीपी/आईपी का उपयोग करने के लिए बल psql के रूप में स्पष्ट रूप से होस्टनाम निर्दिष्ट करना। एक पर्यावरण चर सेट करना PGHOST इसे प्राप्त करने के तरीकों में से एक है। यह psql's manual में प्रलेखित है।

+4

@ लाइटबी कॉर्प आपको इस उत्तर को वैध की तरह चिह्नित करना चाहिए। – McSas

+30

किसी भी रेल ऐप के साथ इसमें भाग लेने के लिए: आप डेटाबेस.इम्ल में होस्ट निर्दिष्ट कर सकते हैं। – dwhalen

+11

यह किस तरह की जादूगर है? मेरा मतलब है, गंभीरता से। क्या आप समझाएँगे? मछली के खोल में –

20

मैं इसे खाली छोड़ने के बजाय PostgreSQL होस्ट पते के लिए 127.0.0.1 भरकर हल करने में सक्षम था। (Django उदाहरण)

DATABASES = { 
    'default': { 
     'ENGINE': 'django.db.backends.postgresql_psycopg2', 
     'NAME': 'database_name', 
     'USER': 'database_user', 
     'PASSWORD': 'pass', 
     'HOST': '127.0.0.1', 
     'PORT': '', 
     } 
} 
+1

मुझे अब मूर्खतापूर्ण लगता है, मैं इस मुद्दे को लगभग 2 दिनों तक ठीक करने की कोशिश कर रहा हूं। विंडोज़ पर मैं '127.0.0.1' का उपयोग कर रहा था, लेकिन फिर मैंने अपना कोड उत्पादन (डेबियन 7) में ले जाया और उसे इसे '' में बदलना पड़ा। यह अजीब तरह का है कि वे ऐसा त्रुटि संदेश देते हैं जो किसी को यह विश्वास करने के लिए प्रेरित करता है कि समस्या कहीं और हो सकती है। –

1

मुझे Django के साथ यह समस्या थी।

इसे ठीक करने के लिए स्पष्ट रूप से अपने होस्ट नाम "स्थानीय होस्ट" की स्थापना करके। कंसोल इस में

18

कोशिश पेस्ट:

$ mkdir /var/pgsql_socket/ 

$ ln -s /private/tmp/.s.PGSQL.5432 /var/pgsql_socket/ 
+0

अंत में, मुझे यह जवाब मिला। – Abs

+0

अच्छा। हालांकि मुझे लगता है कि मुझे पता है कि यह क्यों काम कर रहा है, थोड़ा और स्पष्टीकरण उपयोगी होगा। यह समाधान स्वीकार किए गए उत्तर से बेहतर है, केवल विवरण गायब हैं। – Glutexo

8

ओपन 'postgresql.conf' आप में पसंदीदा संपादक। चर 'unix_socket_directories' के लिए देखो, यह सबसे अधिक संभावना इस तरह दिखेगा:

unix_socket_directories = '/private/tmp/' 

बदलें इस के लिए लाइन:

unix_socket_directories = '/var/pgsql_socket/' 

नोट आप एक से अधिक निर्देशिका अल्पविराम अलग में सॉकेट फ़ाइलें चाहते हैं उन्हें।

0

मैक ओएस के स्वामित्व वाले पोस्टग्रेस डीबी पर फ़ाइल अनुमतियां प्रतिबंधित हैं। रीबूट के बाद इन अनुमतियों को रीसेट कर दिया गया है, या पोस्टग्रेज़ को पुनरारंभ करें: उदा। serveradmin postgres शुरू करें।

तो, अस्थायी रूप से अनुमतियाँ या स्वामित्व रीसेट:

sudo chmod o+rwx /var/pgsql_socket/.s.PGSQL.5432 
sudo chown "webUser" /var/pgsql_socket/.s.PGSQL.5432 

अनुमतियां रीसेट सुरक्षित नहीं है, इसलिए डाटाबेस है कि आप एक समाधान के लिए खुद का एक संस्करण स्थापित करें।

1

यदि आपके पास उपरोक्त समस्या है लेकिन आपने योसेमेट से अपग्रेड किया है, तो अपग्रेड समाधान कुछ फ़ाइलों को नष्ट कर सकता है क्योंकि एक अलग दृष्टिकोण की आवश्यकता है। अधिक जानकारी `pg_tblspc` missing after installation of latest version of OS X (Yosemite or El Capitan) पर हैं।

6

टिप्पणियों में दूसरों द्वारा उल्लिखित अनुसार, इस समस्या का एक बहुत ही सरल समाधान डेटाबेस कॉन्फ़िगरेशन के भीतर डेटाबेस 'होस्ट' घोषित करना है।इस उत्तर को जोड़ने के लिए इसे पढ़ने के लिए इसे थोड़ा और स्पष्ट करने के लिए।

उदाहरण के लिए एक रूबी ऑन रेल्स अनुप्रयोग में, /config/database.yml संपादित:

development: 
    adapter: postgresql 
    encoding: unicode 
    database: database_name 
    pool: 5 
    host: localhost 

नोट: अंतिम पंक्ति होस्ट निर्दिष्ट करने के लिए जोड़ा। योसामेट को अपडेट करने से पहले मुझे मेजबान को इस तरह निर्दिष्ट करने की आवश्यकता नहीं थी।

उम्मीद है कि यह किसी की मदद करेगा।

चीयर्स

5

एक और अधिक सरल समाधान (http://daniel.fone.net.nz/blog/2014/12/01/fixing-connection-errors-after-upgrading-postgres/ करने के लिए धन्यवाद)। मैंने 9.4 पदों के लिए अपग्रेड किया था। मेरे मामले में, सभी मैं (googling और सफल नहीं के एक दिन बाद) करने के लिए

gem uninstall pg 
gem uninstall activerecord-postgresql-adapter 
bundle install 

पुनः प्रारंभ webrick, और किया की जरूरत!

1
apt-get install postgres-xc-client 
apt-get install postgres-xc 
0

पहले स्थापित postgres निकालें: -

sudo apt-get purge postgr*

sudo apt-get autoremove

फिर 'अन्तर्ग्रथनी' स्थापित:

sudo apt-get install synaptic

sudo apt-get update

फिर postgres

स्थापित 0

sudo apt-get install postgresql postgresql-contrib

1

मैं ऐसा करने से शब्द में बनाना:

dpkg-reconfigure locales 

और चुनें अपना पसंदीदा स्थानों

pg_createcluster 9.5 main --start 

/etc/init.d/postgresql start 

और उसके बाद (9.5 PostgreSQL के अपने संस्करण है) यह शब्द!

sudo su - postgres 
psql 
1
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 

के रूप में postgres शुरू करने के लिए स्थापित करें postgres पोस्टग्रेस मैन्युअल रूप से

को रोकने के लिए
brew services stop postgresql 

हम भी काढ़ा सेवाओं का उपयोग कर सकते हैं डेटाबेस की स्थिति के लिए

brew services restart postgresql 
3

चेक Postgres पुनः आरंभ करने की:

:

service postgresql status 

तो डेटाबेस नहीं चल रहा है, db शुरू

sudo service postgresql start 
+0

उपरोक्त त्रुटि से फंस गया और डीबी शुरू करके इसे हल किया। –

0

मैंने अभी एक नया क्लस्टर बनाया है और यह मेरे लिए काम करता है, मैं usin था ग्राम (PostgreSQL) 9.3.20:

sudo pg_createcluster 9.3 main --start 

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^