2012-08-16 10 views
6

पर पोस्टग्रेज़ सेट करने का प्रयास कर रहा है, मैं अपने मैक (10.7 शेर) पर रेल ऐप के लिए स्थानीय रूप से पोस्टग्रेस सेटअप प्राप्त करने का प्रयास कर रहा हूं।ओएसएक्स

मैंने postgresapp स्थापित किया और इसे लॉन्च किया, अब मेरे पास स्टेटस बार में एक हाथी है जो मुझे बता रहा है कि पोस्टग्रेस चल रहा है।

मैं इसे करने के लिए प्राप्त कर सकते हैं:

psql -h localhost 

लेकिन जब मैं बस psql चलाने मैं इस त्रुटि मिलती है:

psql: could not connect to server: Permission denied Is the server running locally and accepting connections on Unix domain socket "/var/pgsql_socket/.s.PGSQL.5432"?

मैं इस डाल:

PATH="/Applications/Postgres.app/Contents/MacOS/bin:$PATH" 

~/.bashrc में और एक नया टर्मिनल खोला लेकिन कोई पासा नहीं।

जब मैं which psql चलाने मैं /usr/bin/psql

वास्तव में क्या करना है .. मैं अभी भी यूनिक्स प्रणालियों के लिए बहुत नया हूँ सुनिश्चित नहीं मिलता है। क्या मुझे /usr/bin/psql से /Applications/Postgres.app/Contents/MacOS/bin/psql पर सिमलिंक करना चाहिए?

+1

कहां है अन्य 'psql''/usr/bin/'में से एक है? मैक ओएस एक्स के साथ पूर्वस्थापित? एक अलग PostgreSQL पैकेज से? –

+0

@ क्रेग्रिंजर मैं मानता हूं कि इसे पूर्वस्थापित किया गया था। –

+0

क्या कोई psql निष्पादन योग्य है/अनुप्रयोग/पोस्टग्रेस.एप/सामग्री/मैकोज़/बिन'? यह वहां होना चाहिए। क्या होता है यदि आप इसे चलाने का प्रयास करते हैं (पथ निर्दिष्ट करते हैं)? – dezso

उत्तर

4

यह त्रुटि बहुत विशिष्ट है और आपको बताती है कि क्या गलत है, लेकिन यदि आप यूनिक्स के लिए नए हैं तो यह कम स्पष्ट है।

Can not connect to local PostgreSQL

समस्या आप ("सॉकेट") करने के लिए पहुँच नहीं है फ़ाइल /var/pgsql_socket/.s.PGSQL.5432

:

मैं यहाँ यह करने के लिए एक ऐसी ही जवाब दिया ठीक करने के लिए:

जांचें कि कम से कम आपको निर्देशिका तक पहुंच है। कमांड लाइन उपयोग पर:

ls -l /var/pgsql_socket/.s.PGSQL.5432 

इसके परिणामस्वरूप "अनुमति अस्वीकार कर दी जाएगी"। ऐसा लगता है कि आपके पास पहले से ही इसका उपयोग है और यह केवल सॉकेट फ़ाइल है जिसके पास आपको अनुमति नहीं है।

सॉकेट फ़ाइल स्वयं शुरू होने पर postgresql द्वारा बनाई गई है।

पोस्टग्रेज़ (postgresql.conf) के लिए मुख्य कॉन्फ़िगरेशन फ़ाइल को ट्रैक करें। यह स्वयं मुश्किल हो सकता है, मैं एक लिनक्स उपयोगकर्ता हूं जो ओएसएक्स नहीं है। आपको Google पर कुछ समय बिताना पड़ सकता है। यह लिंक काफी पुराना है लेकिन यदि आपको परेशानी हो रही है तो यह आपको सही रास्ते पर रख सकती है।

unix_socket_directory = '/var/pgsql_socket' # dont worry if yours is different 
#unix_socket_group = ''      # default is fine here 
unix_socket_permissions = 0777     # check this one 
+4

मैक ओएसएक्स कॉन्फ़िगरेशन फ़ाइल/उपयोगकर्ता/$ उपयोगकर्ता/लाइब्रेरी/एप्लिकेशन समर्थन/पोस्टग्रेस/var पर है – SANDeveloper

11

मैं अपने नए मैकबुक प्रो चल माउंटेन शेर पर एक समान मुद्दा था: http://www.postgresqlformac.com/server/howto_edit_postgresql_confi.html

एक बार जब आप यह मिल गया है, लाइनों postgresql.conf में वे कुछ की तरह कहना चाहिए पाते हैं।मैं PostgresApp डाउनलोड किया है और जब मैं रेल ऊपर निकाल दिया मैं निम्न त्रुटि प्राप्त:

`initialize': could not connect to server: No such file or directory (PG::Error) 
Is the server running locally and accepting 
connections on Unix domain socket "/var/pgsql_socket/.s.PGSQL.5432"? 

इसे ठीक करने के मैं स्पष्ट रूप से ऐसा तरह मेरे database.yml फ़ाइल में मेजबान और बंदरगाह को परिभाषित करने के लिए किया था:

development: 
    adapter: postgresql 
    encoding: unicode 
    database: my_app_development 
    pool: 5 
    username: tony 
    password: stark  
    host: localhost 
    port: 5432