如何修复此错误?
psql:错误:无法连接到服务器:没有这样的文件或目录是在本地运行并在Unix域套接字上接受连接的服务器“/var/run/postgresql/.s.PGSQL.5432”?
我们使用Docker、Postgres12和Wercker。在Wercker中运行此命令时,无法创建数据库。但是我们可以在我本地的Ubuntu环境中创建它。
sudo docker exec docker_postgres_1 psql -U postgres -c 'create database postgres_dev'
首先,您需要确保套接字文件
位于/var/run/postgresql/.s.PGSQL.5432
中。核实一下
$ cat /var/run/postgresql/.s.PGSQL.5432
如果结果表明了什么,那么问题就是别的。但是,如果文件不存在,你需要检查/tmp
dir(特别为OSXHomebrew
用户)
$ 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
# 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/
```
Then the error should go.
Hope this helps.
过了一段时间,Postgres数据库停止了我的live服务器的工作。我在这台服务器上工作了8个月。现在它突然停止工作了。 当我尝试输入命令时,psql产生错误
我有一个托管在Engine Yard Cloud上的rails应用程序。部署后,我收到一个错误: 进程postgresql:POSTGRES_CONNECTION关键: DB'postgres'无法连接到服务器:连接拒绝服务器是否在本地运行并接受Unix域套接字'/var/run/postgresql/. s上的连接。PGSQL.5432' 在此错误之后,带有应用程序的实例变得不可访问,需要重新加
在nodeJS应用程序中,我希望通过其UNIX套接字。我用这个包裹https://mongodb.github.io/node-mongodb-native/?jmp=docs(版本3.1.6),通过这种方式: 此处的文档中引用了URI:https://docs.mongodb.com/manual/reference/connection-string/#unix-域套接字。但在我的例子中,它失
可能还值得注意的是,我使用了的修改版本,专门为unix域填充。
我刚刚运行Dockerfile在jenkins安装然后我得到以下错误: 尝试连接到处的Docker守护程序套接字时,权限被拒绝unix:///var/run/docker.sock:邮递http:///var/run/docker.sock/v1.40/build?buildargs={}
问题内容: 使用mysqld_safe启动mysql服务器5.7.17时,发生以下错误。 如何解决? 问题答案: 在安装时未创建此目录似乎很奇怪-您是否在my.cfg中手动更改了套接字文件的路径? 您是否尝试过自己简单地创建此目录并重新启动服务?