【问题标题】:How to fix "psql: error: xxx and accepting connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?"如何修复“psql:错误:xxx 并接受 Unix 域套接字“/var/run/postgresql/.s.PGSQL.5432”上的连接?”
【发布时间】:2019-12-10 23:47:43
【问题描述】:

如何解决这个错误?

psql: error: could not connect to server: No such file or directory 服务器是否在本地运行并接受 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'

【问题讨论】:

  • 你试过从 postgres 启动读取日志吗?
  • 您似乎正在尝试使用套接字连接到您的数据库(有意或无意)。在您的 postgresql.conf 中,确保您已取消注释“unix_socket_directories”并且它指向错误中指定的目录。还要确保您在 pg_hba.conf 中启用了本地(套接字)访问
  • 如果你想使用 tcp 连接,只需将主机参数添加到你的参数列表“-h localhost”

标签: postgresql wercker


【解决方案1】:

首先,您需要确保socket file 位于/var/run/postgresql/.s.PGSQL.5432。检查

$ cat /var/run/postgresql/.s.PGSQL.5432

如果结果显示了什么,那么问题就出在其他地方。但是,如果文件不存在,您需要检查/tmp dir(特别是对于 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 的套接字

对于 Rails 用户

# 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.

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-08-31
    • 2015-05-09
    • 2015-08-13
    • 1970-01-01
    • 1970-01-01
    • 2019-01-24
    • 2020-11-09
    相关资源
    最近更新 更多