0

我是 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)

预先感谢您的帮助。

4

1 回答 1

0

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

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