Use o usuário do sistema operacional postgres
para criar seu banco de dados - desde que você não tenha configurado uma função de banco de dados com os privilégios necessários que correspondam ao usuário do sistema operacional com o mesmo nome ( h9uest
no seu caso):
sudo -u postgres -i
Como recomendado aqui ou aqui .
Então tente novamente. Digite exit
quando terminar de operar como usuário do sistema postgres
.
Ou execute o comando único createuser
como postgres
em sudo
, como demonstrado por drees em outra resposta.
O objetivo é usar o usuário do sistema operacional que corresponda à função de banco de dados com o mesmo nome para obter acesso via ident
autenticação . postgres
é o usuário padrão do sistema operacional que inicializou o cluster do banco de dados. O manual:
Para inicializar o sistema de banco de dados, um sistema recém-inicializado sempre contém uma função predefinida. Essa função é sempre um "superusuário" e, por padrão (a menos que seja alterada durante a execução initdb
), terá o mesmo nome que o usuário do sistema operacional que inicializou o cluster do banco de dados. Normalmente, esse papel será nomeado postgres
. Para criar mais funções, primeiro você precisa se conectar como essa função inicial.
Ouvi falar de configurações ímpares com nomes de usuário não padrão ou onde o usuário do sistema operacional não existe. Você precisaria adaptar sua estratégia lá.
Leia sobre funções de banco de dados e autenticação de cliente no manual.
FATAL: role "user" is not permitted to log in
, verifique dba.stackexchange.com/questions/57723/… para isso.