22

OSX Mavericks への最近のアップグレードにより、Rails アプリのデータベース接続が切断されました。

データベースから取得しようとすると、サーバーは次のエラーを返します。

PG::ConnectionBad (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" (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" (fe80::1) and accepting
    TCP/IP connections on port 5432?

実行しようとすると、次のようpsqlになります。

psql: could not connect to server: No such file or directory
    Is the server running locally and accepting
    connections on Unix domain socket "/tmp/.s.PGSQL.5432"?

私はインターネットで利用可能な多くのソリューションを試しました。pg gem を再インストールし、host: localhost を database.yml に設定します。/usr/local/var/postgres/pg_hba.conf ファイルには次のように書かれています。

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     trust
# IPv4 local connections:
host    all             all             127.0.0.1/32            trust
# IPv6 local connections:
host    all             all             ::1/128                 trust
# Allow replication connections from localhost, by a user with the
# replication privilege.
#local   replication     RyanKing                                trust
#host    replication     RyanKing        127.0.0.1/32            trust
#host    replication     RyanKing        ::1/128                 trust

どの psql が返すか:/usr/local/bin/psql


これに関する解決策はありますか?いくつかの解決策は、Mavericks で新しいバージョンの postgres が追加されるため、$PATH を以前の postgres インストールに変更する必要があることを示唆しています。それがどこにあるかを見つけるにはどうすればよいですか?自作でインストールされた可能性は十分にありますが、確かではありません。

4

10 に答える 10

2

最近、10.9.4 にアップグレードしたときにこの問題が発生しました。

試行錯誤の 1 日の後、私の問題を解決した Joho の投稿を見つけました: https://gist.github.com/joho/3735740

インストール バージョンと一致するようにバージョンを変更してください。私のように複数のバージョンがインストールされている場合は、 cd /usr/local/Cellar/postgresql にアクセスしてどのバージョンを確認できますか。次に、以下の手順を実行しますが、バージョン番号はインストールに合わせて変更してください。

要約すれば:

$ launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
$ mv /usr/local/var/postgres /usr/local/var/postgres9.2
$ brew update
$ brew upgrade postgresql
$ initdb /usr/local/var/postgres -E utf8
$ pg_upgrade -b /usr/local/Cellar/postgresql/9.2.1/bin -B /usr/local/Cellar/postgresql/9.3.4/bin -d /usr/local/var/postgres9.2 -D /usr/local/var/postgres
$ cp /usr/local/Cellar/postgresql/9.3.4/homebrew.mxcl.postgresql.plist ~/Library/LaunchAgents/
$ pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start

Ruby を使用している場合は、次のことも行います。

$ gem pristine pg

これが役立つことを願っています!それは私のためにやった

于 2014-07-22T04:54:08.973 に答える
1

.dmg 経由でインストールする場合は、Postgres インストーラー (私の場合は postgresql-9.1.3-1-osx.dmg) から再インストールできます。再起動も必要になる場合があります。昨日これを行いました-実際のデータベースは削除されず、すべて問題ありません。

Snow Leopard から Mountain Lion でも同様のことが起こりました。

Mountain Lion Postgres が接続できませんでした

于 2013-11-01T11:18:03.387 に答える
0

forをPostgreSQL使用してインストールした後、これは私にとってはうまくいきました:homebrewOS X Mavericks

sudo ARCHFLAGS="-arch x86_64" gem install pg

OS X Yosemiteそうでない場合、このコマンドは、OSをアップグレードした後に再び発生した私の場合の問題を修正しました。OS X El Capitan

sudo PATH=$PATH:/Applications/Postgres.app/Contents/Versions/[Version-Number]/bin gem install pg -v [gem version]

Xcodeまた、とcommand line toolsを更新したことを確認してくださいXcode

于 2014-10-13T10:01:35.510 に答える