1. ホーム
  2. postgresql

[解決済み] psql: FATAL: データベース "<user>" が存在しない

2022-02-03 07:53:53

質問

Mac用のPostgreSqlアプリを使っているのですが( http://postgresapp.com/ ). 過去に他のマシンで使用したことがあるのですが、私のマックブックにインストールする際にトラブルが発生しています。アプリケーションをインストールし、実行しました。

psql -h localhost

返ってくる。

psql: FATAL:  database "<user>" does not exist

コンソールを実行して、検索しようとしているデータベースを作成することもできないようです。ただ実行しても同じことが起こります。

psql 

またはアプリケーションのドロップダウンメニューからpsqlを起動した場合。

マシンの統計情報です。

  • OSX 10.8.4

  • psql (PostgreSQL) 9.2.4

よろしくお願いします。

PostgreSqlをhomebrew経由でインストールすることも試みましたが、同じ問題が発生します。また、アプリケーションのドキュメントページには、次のように書かれています。

Postgres.appが最初に起動するとき、$USERデータベースが作成されます。 これは、何も指定されていない場合の psql のデフォルトのデータベースです。このデータベースは デフォルトのユーザは$USERで、パスワードはありません。

ということは、アプリケーションが$USERを作成していないようですが、今まで何度もインストール->アンインストール-インストールを繰り返したので、私のマシンに何か原因があるのでしょう。

答えは見つかったのですが、このスレッドで回答したユーザー ->.のように正確にはわかりません。 MacでPostgresqlを起動させる。データベース "postgres" が存在しない がフォローアップしてくれませんでした。以下のコマンドでpsqlが開けるようになりました。

psql -d template1

なぜこれが機能するのか、誰かが説明できるまで、この件は未解決にしておきます。

どのように解決するのですか?

パッケージマネージャが$userという名前のデータベースを作成するのに失敗したようです。 その理由は

psql -d template1

は、postgres 自身が作成したデータベースで、すべてのインストールに存在するものです。 あなたはどうやらtemplate1にログインできるようなので、データベースから何らかの権限が割り当てられているのでしょう。 シェルプロンプトでこれを試してみてください。

createdb

で再ログインできるかどうか確認してください。

psql -h localhost

これは単にログインユーザーのデータベースを作成するもので、あなたが求めているものだと思います。 もしcreatedbが失敗したら、あなたには自分のデータベースを作る十分な権利がないので、homebrewパッケージを修正する方法を考えなければなりません。