debugsqlMajor
PostgreSQL is running locally but I cannot connect. Why?
Viewed 0 times
postgresqlcannotwhyconnectbutlocallyrunning
Problem
Recently updated my machine from Mac OS X Lion (10.7.4) to Mountain Lion (10.8) and I think it borked my PostgreSQL installation. It was installed originally via Homebrew. I'm not a DBA, but hoping someone can tell me how to troubleshoot this.
I am unable to connect (but was able to before pre-Mountain Lion):
But Postgres is still clearly running:
And it's responding to queries (both to a test db and the development db) from a local Rails app
There appears to be no
How can I troubleshoot this?
I am unable to connect (but was able to before pre-Mountain Lion):
$ psql -U rails -d myapp_development
psql: 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"?But Postgres is still clearly running:
$ ps aux | grep postgres
meltemi 2010 0.0 0.0 2444124 5292 ?? Ss Wed01PM 0:00.02 postgres: rails myapp_development [local] idle
meltemi 562 0.0 0.0 2439312 592 ?? Ss Wed12PM 0:02.28 postgres: stats collector process
meltemi 561 0.0 0.0 2443228 1832 ?? Ss Wed12PM 0:01.57 postgres: autovacuum launcher process
meltemi 560 0.0 0.0 2443096 596 ?? Ss Wed12PM 0:02.89 postgres: wal writer process
meltemi 559 0.0 0.0 2443096 1072 ?? Ss Wed12PM 0:04.01 postgres: writer process
meltemi 466 0.0 0.0 2443096 3728 ?? S Wed12PM 0:00.85 /usr/local/bin/postgres -D /usr/local/varpostgres -r /usr/local/var/postgres/server.logAnd it's responding to queries (both to a test db and the development db) from a local Rails app
User Load (0.2ms) SELECT "users".* FROM "users"
Rendered users/index.html.haml within layouts/application (1.3ms)There appears to be no
/var/pgsql_socket/ directory, let alone the /var/pgsql_socket/.s.PGSQL.5432 socket file mentioned above!?! Maybe the install of Mountain Lion wiped that out?$ ls -l /var/ | grep pg
drwxr-x--- 2 _postgres _postgres 68 Jun 20 16:39 pgsql_socket_altHow can I troubleshoot this?
Solution
I found that I had an extremely similar problem, namely that postgres was opening a socket in
I had to create the directory
This might help other users who find this question via the
/var/pgsql_socket_alt where none of my software expects to look, but the solution to my problem was not only a problem with my $PATH.I had to create the directory
/var/pgsql_socket, chown it to myself, and set unix_socket_directory in postgresql.conf (located in /usr/local/var/postgres) to that directory, then use the pg_ctl binary in /usr/local/bin to start the right postgres server successfully (which is where $PATH comes in – make sure which pg_ctl resolves to /usr/local/bin/pg_ctl, or just always call it explicitly).This might help other users who find this question via the
/var/pgsql_socket_alt mention.Context
StackExchange Database Administrators Q#21587, answer score: 31
Revisions (0)
No revisions yet.