sql >> Base de Datos >  >> RDS >> PostgreSQL

Rails:implementación en Heroku, muchos problemas

Si tiene un error:

PG::Error

fe_sendauth: no password supplied

Tiene buenas noticias, su aplicación ahora puede funcionar con la base de datos PostgreSQL. (Pero necesitas configurar algo)

Después de instalar PostgreSQL, puede crear una nueva aplicación de rieles usando PostgreSQL con el comando:

rails new my_app -d postgresql

Esto es database.yml se creará:

development:
  adapter: postgresql
  encoding: unicode
  database: my_app_development
  pool: 5
  username: my_app
  password:

test:
  adapter: postgresql
  encoding: unicode
  database: my_app_test
  pool: 5
  username: my_app
  password:

production:
  adapter: postgresql
  encoding: unicode
  database: my_app_production
  pool: 5
  username: my_app
  password:

Ves que, tres bases de datos tienen username y password campo, este es el usuario de la cuenta en Postgresql, tres bases de datos en database.yaml El archivo será creado por este usuario. Por lo tanto, debe proporcionar username y password para ello. Predeterminado después de instalar Postgresql, creó un usuario con el nombre de usuario postgresql y la contraseña es postgresql . Puedes usarlo.

Si desea usar otro usuario, simplemente abra pgAdmin III y cree un nuevo usuario haciendo clic con el botón derecho en Login Roles y elija New login role para crear un nuevo usuario con contraseña. Luego pon ese nombre de usuario y contraseña en database.yaml archivo.

Después de eso, todo lo que necesita ahora es buscar y abrir pg_hba.conf El archivo para hacer alguna configuración para la aplicación puede funcionar con PostgreSQL. No uso Windows desde hace mucho tiempo, así que no estoy seguro de dónde está, pero puede encontrarlo en la carpeta donde instaló PostgreSQL. Ejemplo, si instala en E:\ partición, tal vez puedas encontrarla en:

E:\PostgreSQL\version\data

Después de encontrarlo, ábralo y busque una línea:

# "local" is for Unix domain socket connections only
local all all ident sameuser

Cámbialo por:

# "local" is for Unix domain socket connections only
local all all md5

Luego reinicie su base de datos Postgresql. Para crear una base de datos para la aplicación, ejecute rake db:create o rake db:create:all . Ahora su aplicación puede usar la base de datos PostgreSQL ahora, muy feliz :).