2012-03-21 9 views
5

Estoy usando PostgreSQL 9.1.3 (PostgreSQL 9.1.3 en x86_64-pc-linux-gnu, compilado por gcc-4.6. real (Ubuntu/Linaro 4.6.1-9ubuntu3) 4.6.1, 64-bit) y rails ya sea 3.2.2 o 3.2.1 en ubuntu 11.10.rails 3.2.2 (o 3.2.1) + Postgresql 9.1.3 + Ubuntu 11.10 Error de conexión

Ahora, puedo conectar con continuación de comandos con PostgreSQL

  1. su postgres

    introducir la contraseña y puedo ver postgres = #

  2. estoy colocando debajo de los detalles en mi config/database.yml y ejecutar "rails db" es funcionando bien.

    development:

    adapter: postgresql 
    encoding: utf8 
    reconnect: false 
    database: sample_app_db 
    pool: 5 
    username: postgres 
    password: passwordhere 
    host: localhost 
    

estoy usando RVM para acceder a mi entorno de rieles. pero cuando inicio el servidor usando el comando "carriles s" y pulso url con "http: // localhost: 3000", decir - conexión no establecida.

+0

¿Se puede ejecutar rake db: migrate? – fatfrog

Respuesta

13

tratar de esta manera,

sudo -u postgres createuser -D -P your-current-ubuntu-username 

y

sudo -u postgres createdb -O your-current-ubuntu-username your-database 

abrir este archivo /etc/postgresql/9.1/main/pg_hba.conf

cambio sólo esta línea:

local all    all          peer 

a esto:

local all    all          md5 

no se olvide de reiniciar el servidor postgres:

sudo service postgresql restart 

Ahora compruebe, con este comando

psql -d your-database -U your-current-ubuntu-username -W 

lo que debería trabajo

Esta solución funciona para postgresql-9.1, aquí está la manera de instalar

sudo apt-get install postgresql-9.1 
+0

Para mí, la parte útil de esta respuesta fue cambiar pg_hba.conf. Eso era diferente de otros mensajes que había leído. – IAmNaN

+0

Me alegro de que funcione para usted –

+0

Estoy de acuerdo con @IAmNaN, buenas notas, gracias –

1

Me gustaría proponer un enfoque ligeramente diferente que utiliza el socket del archivo en su lugar.

Al permitir que su usuario de Ubuntu tenga acceso a la base de datos, todo debería funcionar sin parámetros de conexión especiales.

En la línea de comandos de Ubuntu:

createuser -U postgres your-current-ubuntu-username

ver la Manpage of createuser para más detalles.

En su base de datos.yml:

development: 
    adapter: postgresql 
    encoding: unicode 
    database: sample-app_development 
    pool: 5 
    username: your-current-ubuntu-username 
    password: 
+0

createuser -U postgres railpg ¿Será el nuevo rol un superusuario? (y/n) y createuser: no se pudo conectar a la base de datos postgres: FATAL: Error de autenticación de pares para el usuario "postgres" –

+0

Estoy por encima del error –

+0

Nota: cuando está correctamente configurado, puede inspeccionar fácilmente sus bases de datos pgAdmin III ('sudo apt-get install pgadmin3') proporcionando esta ruta como opción 'Servidor': **/var/run/postgresql ** (si PG está instalado en ubicaciones predeterminadas/es decir, a través de apt-get). – user569825

Cuestiones relacionadas