2012-03-09 23 views
14

यह कैसे मेरे database.yml फ़ाइल दिखतारेल PostgreSQL के लिए लॉग इन नहीं कर सकते हैं - पीजी :: त्रुटि - पासवर्ड - सही जानकारी

development: 
    adapter: postgresql 
    encoding: unicode 
    database: dbname_dev 
    pool: 5 
    username: username 
    password: tehpass 

में (स्पष्ट रूप से परीक्षण और उत्पादन के लिए प्रासंगिक प्रविष्टियों के रूप में अच्छी तरह से देखते हैं) है टर्मिनल मैं सफलतापूर्वक निम्नलिखित चलाने के लिए और डेटाबेस में लॉग इन कर सकते हैं:

psql -U username dbname_dev 

हालांकि इस नए रेल परियोजना बनाने और चलाने के

rails g controller ComingSoon index 
के बाद

मैं निम्न संदेश मिलता है जब मैं स्थानीय होस्ट पर जाएँ: (डबल और ट्रिपल जाँच लॉगइन क्रेडेंशियल्स के बावजूद) 3000/coming_soon

fe_sendauth: no password supplied 

कोई भी विचार कारण है कि मैं "psql" के माध्यम से इन डेटाबेस में प्रवेश कर सकते हैं लेकिन रेल नहीं कर सकते ?

उत्तर

25

Database.yml:

connection: &connection 
    adapter: postgresql 
    encoding: unicode 
    pool: 5 
    username: username 
    password: tehpass 

development: 
    <<: *connection 
    database: dbname_development 

test: 
    <<: *connection 
    database: dbname_test 

production: 
    <<: *connection 
    database: dbname_production 

इस यदि आप के लिए तो काम नहीं कर रहा है, वहाँ कुछ स्थापना के दौरान गलत हो सकता है।

इस blog पर जाएं, उम्मीद है कि यह आपकी मदद कर सकता है।


संपादित


त्रुटि मामला:

e_sendauth: no password supplied 

fe_sendauth: no password supplied 

यह एक शेयर उबंटू स्थापित के तहत होता है, और pg_hba.conf डिफ़ॉल्ट रूप से भी प्रतिबंधक होने में अनुमतियों के कारण है । रेल कनेक्ट करने की अनुमति देने के लिए, इस तरह दिखने के लिए बस pg_hba.conf के नीचे बदलें।

# TYPE DATABASE USER  CIDR-ADDRESS   METHOD 

# "local" is for Unix domain socket connections only 
local all   all        trust 
# IPv4 local connections: 
host all   all   127.0.0.1/32   trust 
# IPv6 local connections: 
host all   all   ::1/128    trust 

अगर यह मदद करता है या नहीं तो मुझे बताएं?

+1

हाँ मैं सिर्फ इसलिए आपकी अधिक DRY विधि पर स्विच कर रहा हूं। मैंने ब्लॉग पोस्ट और आपके सबसे हालिया उत्तर को देखा। हाल के जवाब के बारे में मुझे यकीन नहीं है ए) जहां वह फ़ाइल रहता है और बी) यदि यह भी एक मुद्दा है क्योंकि मैं शेर –

+0

का उपयोग कर रहा हूं, मुझे लगता है कि इसे '/ usr/local/var/postgres /' –

+0

में संग्रहीत किया जाना चाहिए सादा पाठ में अपना उपयोगकर्ता नाम और पासवर्ड डालना वास्तव में एक अच्छा विचार है? –

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