【问题标题】:Error when install postgresql in linux mint sarah在 linux mint sarah 中安装 postgresql 时出错
【发布时间】:2018-05-01 23:09:47
【问题描述】:

我想在我的计算机 Linux mint sarah 中安装 postgresql,我完成了程序安装,但是当我在我的 cmd postgres 错误中键入 psql 时,如下所示:

安装 PostgreSQL 时出错

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

我是如何解决这个问题的? 谢谢

【问题讨论】:

    标签: linux postgresql ubuntu installation


    【解决方案1】:

    错误表明 psql 实用程序找不到连接到数据库服务器的套接字。

    要么您没有在后台运行数据库服务,要么套接字位于其他位置,或者可能需要修复 pg_hba.conf。

    第 1 步:验证数据库是否正在运行

    该命令可能因您的操作系统而异。但在大多数 *ix 系统上,以下方法可以工作,它将在所有正在运行的进程中搜索 postgres

    ps -ef | grep postgres
    

    在我的系统 mac osx 上,这会吐出

    501   408     1   0  2Jul15 ??         0:21.63 /usr/local/opt/postgresql/bin/postgres -D /usr/local/var/postgres -r /usr/local/var/postgres/server.log
    

    最后一列显示用于启动服务器的命令和选项。

    您可以使用以下命令查看启动 postgres 服务器的所有可用选项。

    man postgres
    

    从那里,您会看到选项 -D 和 -r 分别是数据目录和日志文件名。 第 2 步:如果 postgres 服务正在运行

    使用find搜索socket的位置,应该在/tmp的某处

    sudo find /tmp/ -name .s.PGSQL.5432
    

    如果 postgres 正在运行并接受套接字连接,上面应该告诉你套接字的位置。在我的机器上,结果是:

    /tmp/.s.PGSQL.5432
    

    然后,尝试通过 psql 显式使用此文件的位置进行连接,例如。

    psql -h /tmp/ dbname
    

    第 3 步:如果服务正在运行但您没有看到套接字

    如果找不到套接字,但看到服务正在运行,请验证pg_hba.conf 文件是否允许本地套接字。

    浏览到数据目录,您应该会找到 pg_hba.conf 文件。

    默认情况下,您应该在文件底部附近看到以下几行:

    # "local" is for Unix domain socket connections only
    local       all       all       trust
    

    如果看不到,可以修改文件,重启postgres服务。

    【讨论】:

      猜你喜欢
      • 2018-02-02
      • 1970-01-01
      • 1970-01-01
      • 2018-01-08
      • 2015-12-23
      • 1970-01-01
      • 1970-01-01
      • 2021-07-13
      • 2019-06-28
      相关资源
      最近更新 更多