Eu encontrei problemas semelhantes ao configurar um novo aplicativo Rails com Postgresql. Recebi as seguintes mensagens de erro abaixo
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 isso basta seguir a solução abaixo
Primeiro, precisamos fazer login na conta de usuário postgres por meio da interface de linha de comando;
sudo su - postgres
Em seguida, conecte-se ao servidor de banco de dados usando o cliente psql, como a função postgres:
psql -U postgres
Bem-vindo ao psql 10.6, o terminal interativo do PostgreSQL.
[email protected]:~$ psql -U postgres
psql (10.6 (Ubuntu 10.6-0ubuntu0.18.04.1))
Type "help" for help
postgres=#
Em seguida, conectado ao cliente psql, criaremos uma função com nosso nome da função desejado que tem o atributo LOGIN e nossa senha desejada , e que pode criar bancos de dados e gerenciar funções (N/B: Por favor, não digite este postgres=# , já que é um espaço reservado):
postgres=# create role rolename with createdb login password 'password1';
Observe o ponto e vírgula à direita (; ) necessário no final da instrução SQL. As aspas simples ( ‘ ‘ ) não fazem parte da senha, mas devem incluí-la.
Funcionou? Você pode verificar usando o comando \du (N/B: Por favor, não digite este postgres=# , já que é um espaço reservado):
postgres=# \du
Agora você pode executar o comando para criar o banco de dados para sua aplicação Rails;
rails db:create
E então execute também o comando para migrar o banco de dados para sua aplicação Rails;
rails db:migrate
Isso é tudo.
Espero que isso ajude