我刚刚在一个全新的15.04 ubuntu安装上安装了postgresql 9.4,而且我无法启动psql服务器。每次我尝试运行sudo -u postgres 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"?
我已经尝试过在这里和其他所有论坛上发布的每一个解决方案,但除了一个之外没有其他任何工作:
http://ubuntuforums.org/showthread.php?t=869080
sudo mkdir -p /usr/local/pgsql/data
sudo chown -R postgres:postgres /usr/local/pgsql/
sudo sudo su postgres
cd /usr/lib/postgresql/9.4/bin/
./initdb -D /usr/local/pgsql/data
./postgres -D /usr/local/pgsql/data
我尝试按照那里的说法更改init.d脚本,但这不起作用,上面的解决方案似乎只工作一次,之后,文件锁定,我无法运行。 / postgres -D / usr / local / pgsql / data
有人可以帮忙吗?我尝试过删除,清除,重新安装,多个版本等。每次我都会遇到同样的错误。 汉克斯! Ť
答案 0 :(得分:0)
psql
不是PostgreSQL服务器。它是连接到已经运行的服务器的命令行客户端。
看起来你没有运行PostgreSQL服务器,因此无需连接。请注意,错误消息显示服务器是否正在运行 ...
正如您已经注意到的,要启动PostgreSQL服务器,您需要运行postgres -D /path/to/datadir
(或者最好是pg_ctl -D /path/to/datadir -w start -l pgstartup.log
)。
您应该让操作系统在启动时自动执行此操作,而不是手动执行此操作。大多数PostgreSQL安装程序和软件包都会为您设置。有些需要额外的步骤来启用它,这将在他们的文档中解释。你还没有提到你是如何从哪里安装PostgreSQL的,所以我不能更具体地说明这一点。
如果您使用Ubuntu PostgreSQL软件包或http://apt.postgresql.org/软件包,他们将为您注册一项服务。