【问题标题】:postgresql could not connect to server - No such file or directorypostgresql 无法连接到服务器 - 没有这样的文件或目录
【发布时间】:2017-11-29 23:58:35
【问题描述】:

我在 Ubuntu 16.04 上安装了 postgresql,当我运行 psql 命令时出现此错误:

无法连接到服务器:没有这样的文件或目录。 服务器是否在本地运行并接受 Unix 域上的连接 套接字“/var/run/postgresql/.s.PGSQL.5432”?

我尝试重新启动并重新加载 postgres 服务,但每次都显示错误。

【问题讨论】:

  • Postgres 服务器在启动时创建此文件。因此,您的服务器没有运行。请查看系统或 postgres 日志以查找详细信息,您的服务器无法启动的原因。
  • pg_ctl status?..
  • 请提供您的错误信息。您尝试以哪个用户身份启动服务。您必须是“postgres”用户。

标签: postgresql ubuntu-16.04


【解决方案1】:

我在 Ubuntu 14.04 中遇到了同样的错误,它对我有用。 尝试重启 Postgres 服务

$ sudo service postgresql restart

$ sudo /etc/init.d/postgresql restart

【讨论】:

    【解决方案2】:

    按照这些步骤进行

    1) 转到/var/log/postgresql 并打开日志文件

    如果您在日志文件中看到与此类似的错误

    FATAL: private key file "/etc/ssl/private/ssl-cert-snakeoil.key" 拥有群组或世界访问权限

    DETAIL: File must have permissions u=rw (0600) 或更少(如果由数据库用户拥有),或者权限 u=rw,g=r (0640) 或更少(如果由 root 拥有)。

    a) 执行以下命令更改权限(如果对您来说是 diff,请确保更改密钥文件名)

    $ sudo chown postgres /etc/ssl/private/ssl-cert-snakeoil.key
    $ sudo chgrp postgres /etc/ssl/private/ssl-cert-snakeoil.key
    $ sudo chmod 740 /etc/ssl/private/ssl-cert-snakeoil.key
    

    现在重启服务

    $ sudo /etc/init.d/postgresql restart
    

    它应该显示这个消息 [ ok ] 重启 postgresql (通过 systemctl): postgresql.service.

    现在输入这些命令来验证

    $ sudo su - postgres
    $ psql
    

    你应该会看到这条消息

    root@imp-itpl0023:/etc/ssl/private# su - postgres
    postgres@imp-itpl0023:~$ psql
    psql (10.3 (Ubuntu 10.3-1.pgdg16.04+1))
    Type "help" for help.
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-12-24
      • 1970-01-01
      • 2021-04-08
      • 2018-01-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多