0

重複の可能性:
Unix ドメイン ソケット「/var/pgsql_socket/.s.PGSQL.5432」での PostgreSQL Permission denied エラー - Lion Server 10.7.3 または Lion Server 10.7.4

Rails のバックエンド データベースとして postgres を使用しています。

私のpostgresのバージョンは9.1.4で、/usr/binにインストールされています

Rubyバージョン1.9.3を実行していますが、デフォルトの1.8.7が起動するため、rvmで手動で切り替える必要があります。

Rails 3.2.8を実行しています

私の構成ファイル pg_hba.conf は次のようになります。

# "local" is for Unix domain socket connections only
local   all         all                               md5
# IPv4 local connections:
host    all         all         127.0.0.1/32          md5
# IPv6 local connections:
host    all         all         ::1/128               md5

postgres.conf ファイルのほとんどの行はコメント アウトされています。

log_destination = 'stderr'
listen_addresses = '*'   
port = 5432                             
max_connections = 100                  

また、Mac 用の「Postgres アプリ」もインストールしました (postgresapp.com/documentation を参照)。これは、ポート 5432 で実行およびリッスンしていると表示されます。

ps -ax | を実行すると 私が見るgrep投稿:

1088 ??         0:00.08 com.heroku.postgres-service
 1135 ??         0:00.29 /Applications/Postgres.app/Contents/MacOS/bin/postgres -D /Users/rickc/Library/Application Support/Postgres/var -p5432
 1137 ??         0:01.14 postgres: writer process      
 1138 ??         0:00.78 postgres: wal writer process      
 1139 ??         0:00.20 postgres: autovacuum launcher process      
 1140 ??         0:00.26 postgres: stats collector process      

しかし、localhost:3000 で Rails Connect を開始しようとすると、次のエラー メッセージが表示されます: PG::Error

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

ここで以前の投稿を調べてみましたが、もちろん、postgres のドキュメントでは、ここで何が誤って構成されているかを完全に確認できません。どんな助けでも大歓迎です...

4

1 に答える 1

-1

これはpostgresの問題であり、rails/rubyの問題ではありません。

自分自身にそれを証明するには、ターミナルを開いて実行します

psql -U username -W db_name

usernameはユーザー名でdb_name、はデータベースの名前です。

「サーバーに接続できませんでした」というエラーが表示されるはずです。

これがあなたがすることです:

  • tailターミナルウィンドウでのpostgresログ
  • postgresを再起動し、ターミナルを監視します

ログに問題が表示されます。問題がわからない場合は、ログの関連部分を投稿してください。調査させていただきます。

于 2012-11-27T21:18:57.407 に答える