2012-03-09 13 views
14

Questo è come il mio aspetto di file database.yml (ovviamente ci sono voci rilevanti per i test e di produzione oltre)Rails non possono accedere a PostgreSQL - PG :: Error - Password - informazioni corrette

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

In terminale posso correre con successo i seguenti e accedere al database:

psql -U username dbname_dev 

Tuttavia, dopo la creazione di questo nuovo progetto rotaie e funzionante

rails g controller ComingSoon index 

ricevo il seguente messaggio quando vado a localhost: 3000/coming_soon (nonostante doppie e triple controllare le credenziali di accesso)

fe_sendauth: no password supplied 

Tutte le idee perché posso accedere a queste banche dati tramite "psql", ma Rails non posso ?

risposta

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 

Se questo non funziona per voi allora, ci potrebbe essere qualcosa di sbagliato durante l'installazione.

Visita questo blog, spero che questo possa aiutarti.


EDIT


ERRORE CASO:

e_sendauth: no password supplied 

fe_sendauth: no password supplied 

Ciò avviene sotto un archivio Ubuntu installare, ed è grazie ai permessi in pg_hba.conf troppo restrittivo per default . Per consentire ai binari di connettersi, è sufficiente modificare la parte inferiore di pg_hba.conf in modo che assomigli a questo.

# 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 

Fatemi sapere se questo aiuta o no?

+1

Sì, sono passato al metodo più ASCIUTTO solo perché. Ho esaminato il post del blog e la tua risposta più recente. Riguardo la recente risposta non sono sicuro A) dove risiede il file e B) se è anche un problema perché sto usando Lion –

+0

Immagino che debba essere memorizzato in '/ usr/local/var/postgres /' –

+0

è è davvero una buona idea mettere il tuo nome utente e password in chiaro? –

Problemi correlati