
나는 이 튜토리얼을 따르고 있으며 postgres로 로그인하여 다음을 실행합니다.
createuser --interactive
제공된 이름 및 선택된 수퍼유저
그 다음에:
createdb dogspot
하지만 노력할 때
sudo -i -u dogspot
나는 얻다:
postgres@ip-172-31-12-126:/home/ubuntu$ sudo -i -u dogspot
sudo: unknown user: dogspot
sudo: unable to initialize policy plugin
그러나 한 번 더 creatuser를 시도하면 이미 존재하는 사용자에 대한 메시지가 표시되므로 해당 사용자는 확실히 존재합니다. 올바르게 수행하는 방법에 대한 몇 가지 힌트가 제공됩니다.
DB 버전:
psql (PostgreSQL) 9.3.4
운영 체제 버전:
Ubuntu 14.04 LTS
업데이트:
이전에 해당 이름으로 Linux 사용자를 생성하려면 모든 것이 필요한 것 같습니다.
sudo useradd -d /home/dogspot -m dogspot
sudo passwd dogspot
답변1
PostgreSQL 사용자와 운영 체제 사용자를 혼동하고 있습니다.
PostgreSQL 사용자는 해당 운영 체제 사용자 없이 존재할 수도 있습니다.
기본적으로 연결은 peer
인증을 사용합니다. 여기서 연결하려는 PostgreSQL 사용자와 동일한 이름을 가진 OS 사용자로 실행해야 합니다.pg_hba.conf
그래도 변경할 수 있습니다, 모든 사용자에 대해 또는 일부 사용자/DB에 대해서만. 자세한 내용은 다음을 참조하세요.클라이언트 인증장.