2012-08-16 16 views
6

私のMac(10.7 Lion)のレールアプリのローカルにpostgresを設定しようとしています。OSXでpostgresを設定しようとしています

私はpostgresappをインストールして起動しました。ステータスバーに象があり、ポストグレスが実行されています。

私はでそれを得ることができます。

psql -h localhost 

しかし、私は単純にpsqlを実行したときに、私はこのエラーを取得:

psql: 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"?

私は、この置く:~/.bashrc

PATH="/Applications/Postgres.app/Contents/MacOS/bin:$PATH" 

をし、新しい端末を開設しました。しかし、サイコロはありません。私はwhich psqlを実行すると

は私が..私はUNIXシステムにまだかなり新しいです何をすべきか、本当にわからない/usr/bin/psql

を取得します。 /usr/bin/psqlから/Applications/Postgres.app/Contents/MacOS/bin/psqlにシンボリックリンクする必要がありますか?

+1

:この問題を解決するには

'initialize': could not connect to server: No such file or directory (PG::Error) Is the server running locally and accepting connections on Unix domain socket "/var/pgsql_socket/.s.PGSQL.5432"? 

を私は明示的にそうように私のdatabase.ymlファイルにホストとポートを定義する必要がありました他の 'psql'は'/usr/bin/'にあります。 Mac OS Xにプレインストールされていますか?別のPostgreSQLパッケージから? –

+0

@CraigRinger私はそれがプリインストールされていると仮定します。 –

+0

'/ Applications/Postgres.app/Contents/MacOS/bin'にpsql実行可能ファイルがありますか?それはそこにあるはずです。そのパスを指定しようとするとどうなりますか? – dezso

答えて

4

このエラーは非常に具体的で何が間違っているかを示していますが、あなたがUNIXに慣れていない場合はあまり明確ではありません。

私はここでそれに類似した答えを与えた:

Can not connect to local PostgreSQL

を問題

をあなたが( "ソケット")へのアクセスを持っていない/var/pgsql_socket/.s.PGSQL.5432

を提出修正するには:

少なくともディレクトリにアクセスできることを確認してください。コマンドラインで次のコマンドを使用します。

ls -l /var/pgsql_socket/.s.PGSQL.5432 

これは、「許可が拒否されました」と表示されます。すでにアクセス権を持っている可能性があります。アクセス権のないソケットファイルだけです。

ソケットファイル自体は、起動時にpostgresqlによって作成されます。

ポストグル(postgresql.conf)のメイン設定ファイルを追跡します。 それ自体は難しいかもしれませんが、私はOSXでないLinuxユーザーです。あなたはGoogleで時間を費やす必要があるかもしれません。このリンクはかなり古いですが、問題が発生している場合は正しい軌道に乗るかもしれません。私は私の新しいMacBook Proを実行しているマウンテンライオンに同様の問題があった

unix_socket_directory = '/var/pgsql_socket' # dont worry if yours is different 
#unix_socket_group = ''      # default is fine here 
unix_socket_permissions = 0777     # check this one 
+4

Mac OSX設定ファイルは、/ Users/$ USER/Library/Application Support/Postgres/varにあります。 – SANDeveloper

11

http://www.postgresqlformac.com/server/howto_edit_postgresql_confi.html

あなたがそれを見つけたら、彼らは何かを言うべきpostgresql.conf内の行を見つけます。私はPostgresAppをダウンロードし、私は次のエラーを受け取ったレール解雇する場合:ないどこ

development: 
    adapter: postgresql 
    encoding: unicode 
    database: my_app_development 
    pool: 5 
    username: tony 
    password: stark  
    host: localhost 
    port: 5432 
関連する問題