2016-11-10 6 views
1

私はOS Xのエルキャピタンのバージョン10.11.3に取り組んでいます 私はPostgresのアプリケーションをダウンロードし、アプリを実行しました。私は私の端末で次の出力を得る「オープンpsqlの上で私をクリックするとpsql:FATAL:ロール "vimarshchaturvedi"は存在しません。 Postgres.appのインストール

上に象のアイコンは、バージョン9.6.1.0(9.6.1.0)

氏は述べています。

$ '/Applications/Postgres.app/Contents/Versions/9.6/bin'/psql -p5432 
psql: FATAL: role <username> does not exist 

ここで、私のユーザー名はです。私の知る限り、アプリはユーザー名とパスワードなしで役割を作成する必要があります。

私がやってみました:同じエラーを与えた

psql -h localhost -U <username> 

以下は、私がSOに投稿した回答を試してみるために得たさまざまな出力です。

$ which psql 
/Applications/Postgres.app/Contents/Versions/latest/bin/psql 

はもう少し検索した後、私は、次のコマンドを実行しました:

psql -h localhost -U postgres 
postgres=# 

Postgresの殻が開きました。誰でも何が起こっているのか説明できますか?

答えて

0

ユーザ名が指定されていないpsqlを起動すると(-U ...)、現在のOSユーザと同じ名前のdbユーザでログインしようとします。明らかに、DBユーザーはまだ作成されていません。

すべてのDBクラスタに作成されたデフォルトのスーパーユーザがpostgresという名前です。これをRDBMSの名前またはシステムDBのpostgresと混同しないでください。

ユーザーpostgresなしPWでログインできるという事実は、2つのことを示します。

  1. ユーザー `Postgresは(当たり前)が存在します。
  2. .pgpassファイルまたはpg_hba.confのいずれかの認証方法peer,identまたはtrustのいずれかを使用して、パスワードなしでアクセスできるように設定されています。おそらくpeer

その場合は、シェルからクイックフィックスとして:

createuser -h localhost -U postgres vimarshchaturvedi 

vimarshchaturvedi

は明らかにあなたのOSのユーザー名であること。

一度あなたがログイン役割(=ユーザ)を確認することができ、ログインの出口:

SELECT rolname FROM pg_roles; 
関連する問題