PostgreSQL在本地运行,但我无法连接.为什么?

前端之家收集整理的这篇文章主要介绍了PostgreSQL在本地运行,但我无法连接.为什么?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
最近我的机器从Mac OS X Lion(10.7.4)更新到Mountain Lion(10.8),我觉得它塞了我的Postgresql安装.它最初是通过Homebrew安装的.我不是DBA,但希望有人能告诉我如何解决这个问题.

我无法连接(但能够在之前的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"?

但Postgres仍然在运行:

$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.log

它正在响应来自本地Rails应用程序的查询(包括测试数据库和开发数据库)

User Load (0.2ms)  SELECT "users".* FROM "users" 
  Rendered users/index.html.haml within layouts/application (1.3ms)

似乎没有/ var / pgsql_socket /目录,更不用说上面提到的/var/pgsql_socket/.s.PGsql.5432套接文件了!?!也许山狮的装置擦掉了?

$ls -l /var/ | grep pg
drwxr-x---   2 _postgres  _postgres    68 Jun 20 16:39 pgsql_socket_alt

我该如何解决这个问题?

我发现我有一个非常类似的问题,即postgres在/ var / pgsql_socket_alt中打开一个套接字,我的软件都没有看到,但我的问题的解决方案不仅仅是我的$PATH问题.

我必须创建目录/ var / pgsql_socket,自己选择它,并将postgresql.conf中的unix_socket_directory(位于/usr/local / var / postgres中)设置到该目录,然后在/usr/local /中使用pg_ctl二进制文件bin成功启动正确的postgres服务器(这是$PATH进来的地方 – 确保哪个pg_ctl解析为/usr/local / bin / pg_ctl,或者只是总是明确地调用它).

这可能有助于通过/ var / pgsql_socket_alt提到这个问题的其他用户.

猜你在找的Postgre SQL相关文章