2017-11-18 234 views
0

我想在我的电脑Linux Mint的萨拉安装PostgreSQL和我完成程序安装,但是当我在CMD Postgres的错误类型psql的,就像这样:错误时,在Linux Mint的安装PostgreSQL萨拉

错误时安装PostgreSQL

PSQL:无法连接到服务器:没有这样的文件或目录 是服务器本地运行和验收Unix域套接字“/var/run/postgresql/.s.PGSQL.5432” 连接?

我该如何解决? 谢谢

回答

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 &的日志文件名。 第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的服务。