Here's the error message I'm getting today when I attempt to log in to my localhost PosgreSQL databases using psql
:
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"?
I installed PostgreSQL using Homebrew and this morning I've uninstalled and reinstalled using that utility, with no change observable. The psql
client works fine, and I can still use it to connect to databases over the network. I only connect to my local databases once every month or two, and it worked fine before, so I'm assuming this is due to some automatic update but I don't know which. Mac OS upgraded itself to High Sierra (10.13) recently.
The same error message popped up on here in 2014 (link) but that was a case where a guy had trouble starting the server. In my case I believe it's running -- I've used brew services start postgresql
and yes, I've restarted a few times today. However, the file mentioned in the error, /tmp/.s.PGSQL.5432
, does not exist on my system. I think this is a case of some configuration mistake. Anyone have a clue how to fix?
Update: I tried starting the server manually (as recommended by Evan) and I think I made a breakthrough. Here's the error I get when I try to start it manually:
FATAL: database files are incompatible with server
DETAIL: The data directory was initialized by PostgreSQL version 9.6, which is not compatible with this version 10.1.
Update 2: Ultimately I solved this problem by replacing my data directory and re-initializing it with an empty database using initdb
as in the answer marked "correct". To be fair, all three answers were helpful. I was unable to update the database from the old version to the new one because I no longer had the binaries for the older version of Postgres.
psql -h 127.0.0.1 -d postgres
./tmp/.s.PGSQL.5432
exists on my mac (still on Sierra, fwiw), but I also started it usingpg_ctl -D $DATADIR start
, not via thebrew services start
command.brew
?