他の人と同様に、プロジェクトでrake db:migrateを実行したり、Ruby on Rails 3.2アプリケーションのほとんどのデータベースタスクを試したりすると、このエラーが発生します。
PGError(サーバーに接続できませんでした:そのようなファイルまたはディレクトリはありません。サーバーはローカルで実行されており、Unixドメインソケット "/tmp/.s.PGSQL.5432"で接続を受け入れていますか?
私はPostgreSQLをHomebrewとともにかなり前にインストールしましたが、MongoDBのインストールを試みたところ、最近ではPostgreSQLのインストールが同じではありませんでした。OS X v10.6 Snow Leopardを実行しています。
何が問題で、PostgreSQLがどのように理解されており、Macで設定する必要がありますか?
これまでのところ(私は思う)、これはPostgreSQLが実行されていない(?)ことを示しています。
ps -aef|grep postgres (ruby-1.9.2-p320@jct-ana) (develop) ✗
501 17604 11329 0 0:00.00 ttys001 0:00.00 grep postgres
しかし、これはPostgreSQLが実行中であることを示していますか?
✪ launchctl load -w /usr/local/Cellar/postgresql/9.1.4/homebrew.mxcl.postgresql.plist (ruby-1.9.2-p136)
homebrew.mxcl.postgresql: Already loaded
どうすれば修正できますか?私は何を見ていませんか?
PS:~/Library/LaunchAgents
2つのPostgreSQL .plistファイルが含まれています。それが関連しているかどうかはわかりません。
org.postgresql.postgres.plist
homebrew.mxcl.postgresql.plist
以下を試してみたところ、以下のような結果になりました。
$ psql -p 5432 -hローカルホスト
psql: could not connect to server: Connection refused
Is the server running on host "localhost" (127.0.0.1) and accepting
TCP/IP connections on port 5432?
could not connect to server: Connection refused
Is the server running on host "localhost" (::1) and accepting
TCP/IP connections on port 5432?
could not connect to server: Connection refused
Is the server running on host "localhost" (fe80::1) and accepting
TCP/IP connections on port 5432?
OS Xが独自のバージョンのPostgreSQLをインストールし、Homebrewが異なる場所に異なるバージョンをインストールし、PostgreSQLコマンドが/ tmp /ディレクトリーを探しているため、これが発生していることを読んだことがあります。Stack Overflowでさらに検索する必要がありますが、基本的にはPostgreSQLにシンボリックリンクを作成することで、そのtmpパスを調べたときに実際に実際のパスが見つかるようにします。
これは、試してみるいくつかのこと、特に上記のシンボリックリンクを見つけたリンクです。MacOSX Lion Postgresは/tmp/.s.PGSQL.5432での接続を受け入れません。OS XにPostgreSQLをインストールすることの背後にある概念について、きちんとした説明をまとめて、それがなぜそれほど難しいのかを誰かにまとめてもらいたいと思っています。
トラブルシューティングに役立つ最新の洞察:
$ which psql // This tells you which PostgreSQL you are using when you run $ psql.
次に実行します:
$ echo $PATH
考慮すべき重要な点はこれです:
OS XシステムのPostgreSQLへのパスの前に実行するPostgreSQLのコピーのパスエントリを確認してください。
これは、実行するPostgreSQLを決定する中心的な要件であり、これらの問題のほとんどを引き起こすと私が言われていることです。