Postgres sh:/usr/local/var/postgres/server.log:没有这样的文件或目录

时间:2012-06-13 21:49:05

标签: ruby-on-rails postgresql homebrew rails-postgresql

我最近不得不重新安装自制软件和postgres,现在postgres没有使用rails。

首先尝试运行rails时,我明白了:

/Users/lee/.rvm/gems/ruby-1.9.3-p125@achievex/gems/activerecord-3.2.6/lib/active_record/connection_adapters/postgresql_adapter.rb:1206:in `initialize': could not connect to server: Connection refused (PG::Error)

所以我尝试开始postgres,我得到了这个:

pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start
server starting
sh: /usr/local/var/postgres/server.log: No such file or directory

似乎postgres正在运行:

 ps aux | grep postgreslee             1099   0.3  0.0  2425480    188 s000  R+    5:48PM   0:00.01 grep postgres

我完全不知道为什么我无法让它运转。

1 个答案:

答案 0 :(得分:5)

首先,ps | grep实际上是将grep从进程树中拉出来。 Postgres没有运行。当放入登录的目录不存在时会发生这种情况。所以你可能将它指向一个不存在的目录。

如果您还没有数据目录,可能会发生这种情况。

建议:

  1. 首先确保您的数据目录存在。搜索pg_hba.conf并查看它是否在您系统的任何位置。如果是,那么很可能它在你的数据目录中(如果它在etc中,那么查找base / 1 / PG_VERSION这将在你的数据目录中从基数上升一级)。
  2. 如果已存在,则已更改postgresql.conf以适当设置日志记录设置并删除-l选项。
  3. 如果不存在数据目录,请使用initdb命令创建一个。