2012-02-18 1 views
0

私の宝石を更新しました。そして今私は自分のpostgresqlデータベースに接続する際に問題があります。私はエラーを取得する:PostgreSQL、gemを更新した後の問題

PGError 

could not connect to server: Permission denied 
    Is the server running locally and accepting 
    connections on Unix domain socket "/var/pgsql_socket/.s.PGSQL.5432"? 

私は宝石をアンインストールして再インストールしてみました、私はまた、パスのファイルを変更すると「は/ usr/local/binに/」上にを入れてみました。このアプリは、私の宝石を更新する前にうまく働いた、他のアプリはまだ同じサーバーに、うまく接続

Repairing Postgresql after upgrading to OSX 10.7 Lion

:私は、ポストからのもののいくつかを試してみました。私はdatabase.ymlファイルで同じ設定をしています..何が間違っている可能性がありますか?

+0

最後に、私は関連するトピックを見つけました。 http://stackoverflow.com/questions/7369164/postgresql-why-do-i-have-to-specify-h-localhost-when-running-psql/7377682#7377682 – wildplasser

答えて

1

エラーはPostgreSQLサーバから来ており、何度も見てきました。これは、を実行中で、ポート5432をリッスンしているサーバーにUnixドメインソケット経由で(TCP/IPではなく)接続しようとしていることを示しています。しかし、そのような接続を受け入れるサーバーは見つけられません。

あなたはPostgreSQLサーバがどこにあるのかは言及していません。実際にはローカルマシンのデータベースサーバに接続することを意味します。

特にpg_hba.confファイルを確認してください。

local  mydb myuser  md5 

または

local  all  all  peer 

またはユーザーとデータベースが含まれるいくつかの他の接続方法:次のような行が必要です。

あなたのケースではこれらのでしょうないヘルプ:

host ... 

または

hostssl ... 

彼らは、UNIXドメインソケット経由でローカル接続、TCP/IP接続をしませ関係。 localhostに接続すると、実際にはローカルループ経由でTCP/IPが使用され、これらの設定が適用されます。

pg_hba.confを編集した後に再読み込みすることを忘れないでください。私は、リンク先のマニュアルを引用します:

If you edit the file on an active system, you will need to signal the postmaster (using pg_ctl reload or kill -HUP) to make it re-read the file.

+0

アーウィン、私見これは、再びですUnixドメインソケットに関するトピックは、期待される場所以外の場所にあります。以前のものは、すべて(最近アップグレードされた)OSXインストールです。 – wildplasser

+0

@wildplasser:そうかもしれない。または、私たちが[ここ](http://stackoverflow.com/a/8976814/939860)のように 'local'と' localhost'を混乱させたり、私たちが[here](http:// stackoverflow .com/q/7861867/939860)。 –

+0

こんにちはアーウィン、あなたのソリューションのおかげで..私はpg_hba.confファイルを見つけることができなかった、それはどこですか?私は1つのプロジェクトが動作して、database.ymlファイルは同じです(データベースを除く)。 1つはうまく動作し、もう1つは私にPGerrorを与えます。だから、それはそのプロジェクトの構成になければなりませんか? – jakobk

関連する問題