Me encontré con problemas similares al configurar una nueva aplicación Rails con Postgresql. Recibí los siguientes mensajes de error a continuación
FATAL: role "promisepreston" does not exist
Couldn't create 'MyBlog_development' database. Please check your configuration.
rails aborted!
ActiveRecord::NoDatabaseError: FATAL: role
Caused by:
PG::ConnectionBad: FATAL: role "promisepreston" does not exist
Para resolver esto, simplemente siga la solución a continuación
Primero, debemos iniciar sesión en la cuenta de usuario de Postgres a través de la interfaz de línea de comandos;
sudo su - postgres
Luego, conéctese al servidor de la base de datos usando el cliente psql, como el rol de postgres:
psql -U postgres
Bienvenido a psql 10.6, la terminal interactiva de PostgreSQL.
[email protected]:~$ psql -U postgres
psql (10.6 (Ubuntu 10.6-0ubuntu0.18.04.1))
Type "help" for help
postgres=#
A continuación, conectado con el cliente psql, crearemos un rol con nuestro rolename deseado. que tiene el atributo LOGIN y nuestra contraseña deseada , y que puede crear bases de datos y administrar roles (N/B: No escriba este postgres=# , ya que es un marcador de posición):
postgres=# create role rolename with createdb login password 'password1';
Tenga en cuenta el punto y coma final requerido (; ) al final de la instrucción SQL. Las comillas simples (‘ ‘) no forman parte de la contraseña, pero deben incluirla.
¿Funcionó? Puede verificar usando el comando \du (N/B: No escriba este postgres=# , ya que es un marcador de posición):
postgres=# \du
Ahora puede ejecutar el comando para crear la base de datos para su aplicación Rails;
rails db:create
Y luego también ejecute el comando para migrar la base de datos para su aplicación Rails;
rails db:migrate
Eso es todo.
Espero que esto ayude