如何允许多个rails应用程序访问本地postgreSQL数据库

时间:2012-10-09 01:58:19

标签: ruby-on-rails postgresql

我是Ruby / Rails和PostgreSQL的新手。是否可以让多个rails应用程序同时访问psql本地数据库,如果不是如何在应用程序之间切换? 目前RailsApp1正在按预期与我的psql db进行交互,但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)

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

PostgreSQL使用客户端 - 服务器模型,因此事实上您只需连接到服务器,多个应用程序就可以使其工作。您的具体问题听起来像服务器没有运行或不接受连接。按顺序尝试的步骤:

  1. ps -A | grep post正在寻找postgres或postmaster流程。如果没有找到,请使用pg_ctl程序启动服务器。
  2. 假设它正在运行,请尝试将PGHOST环境变量设置为“localhost”,以便强制rake,psql等通过TCP / IP进行连接。如果UNIX套接字丢失或者不是客户端应用程序所期望的那样,这将有所帮助。
  3. 如果这两个失败,请找到postgresql日志(有时称为serverlog,有时在pg_log目录中)并发布错误消息。