在linux mint sarah

时间:2017-11-18 06:07:03

标签: linux postgresql ubuntu installation

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

安装PostgreSQL时出错

  

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

我是如何修复的? 感谢

1 个答案:

答案 0 :(得分: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分别是datadir& logfilename。 第2步:如果postgres服务正在运行

使用find搜索套接字的位置,该位置应位于/ tmp

中的某个位置
sudo find /tmp/ -name .s.PGSQL.5432

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

/tmp/.s.PGSQL.5432

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

psql -h /tmp/ dbname

第3步:如果服务正在运行,但您没有看到插座

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

浏览到datadir,你应该找到pg_hba.conf文件。

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

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

如果您没有看到,可以修改该文件,然后重新启动postgres服务。