0

Ruby/Rails と PostgreSQL は初めてです。複数の Rails アプリが psql ローカル データベースに同時にアクセスできるようにすることは可能ですか? 現在、RailsApp1 は期待どおりに psql データベースと対話していますが、RailsApp2 は接続できず、rake コマンドは中止されます。

実行中:OSX Mountain Lion, ruby 1.9.3p194, rails 3.2.8, psql 9.2.1.

~/RailsApp2 #: rake db:migrate
rake aborted!
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"?

Tasks: TOP => db:migrate
(See full trace by running task with --trace)

助けてくれてありがとう。

4

1 に答える 1

0

PostgreSQLはクライアントサーバーモデルを使用しているため、実際にはサーバーに接続するだけで、複数のアプリケーションでサーバーを機能させることができます。特定の問題は、サーバーが実行されていないか、接続を受け入れていないようです。順番に試す手順:

  1. ps -A | grep postpostgresまたはpostmasterプロセスを探しています。見つからない場合は、pg_ctlプログラムを使用してサーバーを起動します。
  2. 実行中の場合は、PGHOST環境変数を「localhost」に設定して、rake、psqlなどがTCP/IP経由で接続するようにします。これは、UNIXソケットが欠落している場合、またはクライアントアプリが期待する場所にない場合に役立ちます。
  3. これら2つが失敗した場合は、postgresqlログ(serverlogと呼ばれることもあれば、pg_logディレクトリにあることもあります)を見つけて、エラーメッセージを投稿します。
于 2012-10-09T02:06:54.320 に答える