
私はこのチュートリアルに従っており、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
ただし、ユーザーは確実に存在します。もう一度ユーザーを作成しようとすると、すでにユーザーが存在するというプロンプトが表示されます。正しく作成するためのヒントがあれば助かります。
dbバージョン:
psql (PostgreSQL) 9.3.4
OSバージョン:
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のみ。詳細については、クライアント認証章。