postgres criando novo usuário / função

0

Estou seguindo este tutorial e, sendo logado como postgres, corro: createuser --interactive

nome fornecido e superusuário escolhido

então:

createdb dogspot

mas ao tentar

sudo -i -u dogspot

Eu recebo:

postgres@ip-172-31-12-126:/home/ubuntu$ sudo -i -u dogspot
sudo: unknown user: dogspot
sudo: unable to initialize policy plugin

mas o usuário existe com certeza, porque ao tentar criar novamente o creatuser, é solicitado um já existente. Algumas dicas de como fazê-lo corretamente serão aprovadas.

versão db:

psql (PostgreSQL) 9.3.4

versão do sistema operacional:

Ubuntu 14.04 LTS

ATUALIZAR:

Parece que tudo foi necessário para criar o usuário Linux antes com o nome correspondente:

sudo useradd -d /home/dogspot -m dogspot

sudo passwd dogspot
andilabs
fonte

Respostas:

2

Você está confundindo usuários do PostgreSQL e usuários do sistema operacional.

Um usuário do PostgreSQL pode existir sem um usuário do sistema operacional correspondente.

Por padrão, as conexões usam peerautenticação, onde você deve estar executando como usuário do SO com o mesmo nome que o usuário do PostgreSQL ao qual você tenta se conectar. Você pode mudar isso no pg_hba.confentanto , para todos os usuários ou apenas para alguns usuários / DBS. Para mais detalhes, consulte o capítulo de autenticação do cliente .

Craig Ringer
fonte