Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Postgres sh: /usr/local/var/postgres/server.log: No such file or directory

I recently had to reinstall homebrew and postgres and now postgres isn't working with rails.

First when trying to run rails s, I get this:

/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)

So I try starting postgres and I get this:

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

It appears that postgres is running because of this:

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

I'm totally at a loss here as to why I can't get it running.

like image 427
Lee McAlilly Avatar asked Jun 13 '12 21:06

Lee McAlilly


1 Answers

First, ps | grep is in fact pulling your grep out of the process tree. Postgres is not running. This sort of thing happens when the directory to put the log in doesn't exist. So probably you are pointing it at a non-existant directory.

This could happen if you don't have a data directory yet.

Recommendations:

  1. Start by making sure your data directory exists. search for pg_hba.conf and see if it is anywhere on your system. If it is then there is a good chance it is in your data directory (if it is in etc, then look for base/1/PG_VERSION This will be in your data directory one level up from base).
  2. if it exists already change your postgresql.conf to set logging setting appropriately and drop the -l option.
  3. If no data directory exists, use the initdb command to make one.
like image 168
Chris Travers Avatar answered Oct 19 '22 20:10

Chris Travers