postgres 新しいユーザー/ロールの作成

postgres 新しいユーザー/ロールの作成

私はこのチュートリアルに従っており、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のみ。詳細については、クライアント認証章。

関連情報