[英]Can't connect to the server - error “/var/run/postgresql/.s.PGSQL.5432”?
[英]could not connect to server: “/var/run/postgresql/.s.PGSQL.5432”?
我在带有 postgresql 数据库的 Ruby On Rails 中有一个简单的网页,但是当我运行 sever 时出现此错误,我不知道我这样做了。 我使用 postgresql 是因为 heroku 需要应用程序在 postgresql 中。
我在 ubuntu 13.10 工作
错误是:
PG::ConnectionBad 无法连接到服务器:没有这样的文件或目录服务器是否在本地运行并接受 Unix 域套接字“/var/run/postgresql/.s.PGSQL.5432”上的连接?
我需要帮助
谢谢
您也可以强制停止然后强制启动服务器
sudo service postgresql stop --force
sudo service postgresql start --force
由于没有正确配置到数据库的连接,并且完全因为设置环境变量时的语法错误,我遇到了这个错误,即
MY_APP_DB= $MY_APP_DB_NAME
这是错误的,而不是MY_APP_DB=$MY_APP_DB_NAME
sudo systemctl start postgresql
首先,您需要确保socket file
位于/var/run/postgresql/.s.PGSQL.5432
。 要检查
$ cat /var/run/postgresql/.s.PGSQL.5432
如果结果显示某些内容,则问题是其他任何问题。 但是,如果文件不存在,您需要检查/tmp
目录(特别是对于 OSX Homebrew
用户)
$ cd /tmp
$ l
total 16
drwxrwxrwt 7 root wheel 224B Mar 11 08:03 .
drwxr-xr-x 6 root wheel 192B Jan 23 18:35 ..
-rw-r--r-- 1 root wheel 65B Nov 7 22:59 .BBE72B41371180178E084EEAF106AED4F350939DB95D3516864A1CC62E7AE82F
srwxrwxrwx 1 shiva wheel 0B Mar 11 08:03 .s.PGSQL.5432
-rw------- 1 shiva wheel 57B Mar 11 08:03 .s.PGSQL.5432.lock
drwx------ 3 shiva wheel 96B Mar 10 17:11 com.apple.launchd.C1tUB2MvF8
drwxr-xr-x 2 root wheel 64B Mar 10 17:10 powerlog
现在,有两种方法可以解决错误
您可以更改应用程序配置以查看/tmp/.s.PGSQL.5432
处的/tmp/.s.PGSQL.5432
# config/database.yml
default: &default
adapter: postgresql
pool: 5
# port:
timeout: 5000
encoding: utf8
# min_messages: warning
socket: /tmp/.s.PGSQL.5432
您可以创建指向预期位置的符号链接
$ sudo mkdir /var/pgsql_socket
$ sudo ln /tmp/.s.PGSQL.5432 /var/pgsql_socket/
然后错误应该消失。
希望这可以帮助。
试试这个对我有用的。
sudo systemctl start postgresql
然后
sudo systemctl start postgresql
解决s.PGSQL.5432的问题你需要做的是:
首先将unix_socket_directories postgresql.conf路径/tmp/改成另外一条路径
然后更新postgres和postgres负载,如果你愿意,你可以再次放置路径,并使用它并正常为postgres充电。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.