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

Erro do PostgreSQL:Fatal:o nome de usuário da função não existe


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 executar initdb ) terá o mesmo nome do usuário do sistema operacional que inicializou o cluster de banco de dados. Normalmente, essa função será chamada de postgres .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.