我试图在我的流浪者机器上运行psql,但我得到了以下错误:

psql: could not connect to server: No such file or directory

Is the server running locally and accepting connections on 
Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?

注: vagrant 1.9.2

EDIT

  • sudo apt-get update
  • sudo apt-get install postgresql
  • sudo su postgres
  • psql -d postgres -U postgres

推荐答案

我也遇到过同样的问题,与我的pg_hba的配置有关.conf文件(位于/etc/postgresql/9.6/main中).请注意,9.6是我正在使用的postgresql版本.

错误本身与postgresql的错误配置有关,这会导致服务器在启动前崩溃.

我建议遵循以下说明:

  1. 证明postgresql服务正在运行,使用sudo service postgresql start
  2. 从终点站跑pg_lsclusters
  3. 判断您正在运行的集群是什么,输出应该如下所示:

    版本-群集端口状态所有者数据目录

    9.6-----main--5432在线postgres/var/lib/postgresql/9.6/main

    忽略"--"标志,因为它们仅用于对齐.

  4. 从版本和集群中复制信息,并像这样使用:
  5. 如果出现问题,postgresql将生成一个日志(log),可以在/var/log/postgresql/postgresql-<version>-main.log上访问,因此在我的例子中,完整的命令将是sudo nano /var/log/postgresql/postgresql-9.6-main.log.
  6. The output should show what is the error.

    2017-07-13 16:53:04快速公交[32176-1]日志(log):invalid authentication method "all"

  7. 修复错误并重新启动postgresql服务到sudo service postgresql restart,一切正常.

我已经搜索了很多找到这个,功劳归于这post.

祝你好运!

Postgresql相关问答推荐

跳过DLC中的某些类型的 node

使用regexp获取表名

可以向判断枚举值的SQL列添加约束吗?

Pogresql性能中的枚举与文本数据类型

使用jOOQ在postgres上取消嵌套enum_range

PostgreSQL:在 select 和 group by 中使用不同的列不会导致错误

对表执行 DISABLE TRIGGER ALL 是否也会禁用 FK 指向该表?

当参数大小超过 393166 个字符时,PSQL 准备语句查询挂起

将数组的所有元素循环到jsonb中并修改值

从 PostgreSQL 中的每个组中抽取 N 个样本

有对(type_id,element_id),如(1,1),(1,2),..(5,3).如果我需要获取没有 element_id 1 的类型 ID,如何从结果中排除 type_id?

推送到 Heroku 时出现带有 Postgres 的 Rails 迁移错误

在 postgres 中删除所有共享相同前缀的表

将 PostgreSQL 配置为仅适用于 LOCALHOST 或指定的 ip + 端口

Postgres jsonbNOT contains运算符

仅当 PostgreSQL 表不存在时才添加主键

无法在 postgresql hibernate 中使用名为user的表

将数据推送到 Heroku 时出错:time zone displacement out of range

如何在我的 Mac 上卸载 postgresql(运行 Snow Leopard)

在 Postgres 9.0+ 中使用 PL/pgSQL 在表上循环