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

El rol no existe y no se puede crear una base de datos cuando se usa PostgreSQL

Agrega un nombre de usuario a tu database.yml , también podría usar el nombre de su aplicación (o alguna variante del nombre) como nombre de usuario, usaré app_name como marcador de posición:

development:
  adapter: postgresql
  encoding: utf8
  database: app_development
  pool: 5
  username: app_name
  password:

Luego cree el usuario (también conocido como "rol") dentro de PostgreSQL usando psql.exe :

$ psql -d postgres
postgres=# create role app_name login createdb;
postgres=# \q

La primera línea está en tu terminal, las siguientes dos están dentro de psql . Luego haz tu rake db:create .

El User el usuario es posiblemente un valor predeterminado, pero user ya se usa para otros fines en PostgreSQL, por lo que tendría que citarlo para preservar el caso si desea usar User como nombre de usuario:

postgres=# create role "User" login createdb;

De todos modos, es mejor crear un usuario por aplicación.

Querrá hacer cosas similares para su test entrada en database.yml también.