Use o usuário do sistema operacional
postgres
para criar seu banco de dados - contanto que você não tenha configurado um banco de dados função com os privilégios necessários que correspondem ao seu 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 estiver operando como usuário do sistema postgres
. Ou execute o único comando
createuser
como postgres
com 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 de mesmo nome para obter acesso via
ident
autenticação . postgres
é o usuário padrão do sistema operacional que inicializou o cluster de 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. Esta função é sempre um “superusuário” e por padrão (a menos que seja alterado ao executarinitdb
) terá o mesmo nome do usuário do sistema operacional que inicializou o cluster de banco de dados. Normalmente, essa função será chamada depostgres
.Para criar mais funções, primeiro você deve se conectar como esta função inicial.
Ouvi falar de configurações estranhas 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.