2012-03-09 5 views
14

Así es como mi apariencia de archivos database.yml (obviamente hay entradas relevantes para pruebas y producción), asíCarriles no pueden acceder a PostgreSQL - PG :: Error - contraseña - información correcta

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

En el terminal que se puede ejecutar con éxito el siguiente e iniciar sesión en la base de datos:

psql -U username dbname_dev 

Sin embargo después de la creación de este nuevo proyecto rieles y funcionando

rails g controller ComingSoon index 

me sale el siguiente mensaje cuando voy a localhost: 3000/coming_soon (a pesar de dobles y triples comprobar las credenciales de inicio de sesión)

fe_sendauth: no password supplied 

Cualquier idea por la que pueden acceder a estas bases de datos a través de "psql", pero Carriles no puede ?

Respuesta

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 

Si esto no funciona para usted, entonces, puede haber algo mal durante la instalación.

Visite este blog, espero que esto pueda ayudarlo.


EDITAR


ERROR DE CASO:

e_sendauth: no password supplied 

fe_sendauth: no password supplied 

Esto ocurre en virtud de una acción de instalación de Ubuntu, y se debe a los permisos en pg_hba.conf ser demasiado restrictiva por defecto . Para permitir que los rieles se conecten, simplemente cambie la parte inferior de pg_hba.conf para que se vea así.

# 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 

Quiero saber si esto te ayuda o no?

+1

Sí, cambié a su método más DRY simplemente porque. Miré a través de la publicación del blog y su respuesta más reciente. En cuanto a la respuesta reciente, no estoy seguro de A) dónde reside ese archivo y B) si es incluso un problema porque estoy usando Lion –

+0

Supongo que debe almacenarse en '/ usr/local/var/postgres /' –

+0

es poner su nombre de usuario y contraseña en texto plano realmente una buena idea? –

Cuestiones relacionadas