PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

psql:FATAL:o papel postgres não existe


NOTA:Se você instalou o postgres usando o homebrew, veja o comentário de @user3402754 abaixo.

Observe que a mensagem de erro NÃO falar sobre um banco de dados ausente, ele fala sobre uma função ausente. Mais tarde no processo de login, ele também pode tropeçar no banco de dados ausente.

Mas o primeiro passo é verificar a função ausente:Qual é a saída dentro do psql do comando \du ? No meu sistema Ubuntu, a linha relevante se parece com isso:
                              List of roles
 Role name |            Attributes             | Member of 
-----------+-----------------------------------+-----------
 postgres  | Superuser, Create role, Create DB | {}        

Se não houver pelo menos uma função com superuser , então você tem um problema :-)

Se houver um, você pode usá-lo para fazer login. E olhando para a saída do seu \l command:As permissões para user no template0 e template1 os bancos de dados são os mesmos do meu sistema Ubuntu para o superusuário postgres . Então, acho que sua configuração simples usa user como superusuário. Então você pode tentar este comando para fazer login:
sudo -u user psql user

Se user é realmente o superusuário do banco de dados, você pode criar outro superusuário do banco de dados e um banco de dados privado e vazio para ele:
CREATE USER postgres SUPERUSER;
CREATE DATABASE postgres WITH OWNER postgres;

Mas como sua configuração do postgres.app não parece fazer isso, você também não deveria. Simples adaptar o tutorial.