How to start Postgres server?

harristrader picture harristrader · Feb 19, 2013 · Viewed 31k times · Source

Ive actually had this problem for a while but I've finally decided to take it on. Postgres was initially installed using Brew.

After my upgrade to OSX 10.8.2 to receive a

psql: could not connect to server: No such file or directory
    Is the server running locally and accepting
    connections on Unix domain socket "/tmp/.s.PGSQL.5432"?

error when I typed the

$ psql

command.

I see the following processes:

$ ps auxw | grep post
Tulsa           59222   0.0  0.2  2483256  14808   ??  Ss   Thu03PM   0:02.61 /System/Library/PrivateFrameworks/DiskImages.framework/Resources/diskimages-helper -uuid 470DA5CC-1602-4D69-855F-F365A6512F90 -post-exec 4
Tulsa           57940   0.0  0.2  2498852  13648   ??  Ss   Wed10PM   0:00.61 /System/Library/PrivateFrameworks/DiskImages.framework/Resources/diskimages-helper -uuid FAFAAAB4-0F67-42C8-864E-EF8C31A42EE3 -post-exec 4
root            24447   0.0  0.1  2476468  10080   ??  Ss    8Feb13   0:03.40 /System/Library/PrivateFrameworks/DiskImages.framework/Resources/diskimages-helper -uuid CC768720-12C2-436C-9020-548C275A6B0C -post-exec 4
Tulsa           74224   0.0  0.0  2432768    596 s002  R+    7:24PM   0:00.00 grep post


$ which psql
/usr/local/bin/psql

$ pg_ctl start 
pg_ctl: no database directory specified and environment variable PGDATA unset
Try "pg_ctl --help" for more information. 

Answer

Andrew Lazarus picture Andrew Lazarus · Feb 19, 2013

You haven't started the Postgres server. Some of the dmg packages for Postgres set it to run as a service on startup. But not however you did the install.

You need to init a data directory, start postgres, and then go from there.

initdb /some/directory # just do this ONCE
pg_ctl -D /some/directory start # many other options, e.g. logging, available here
psql postgres

You can set an environment variable for the data directory and you won't need the -D flag later. You can look that up later.