我是这里的新手,也是服务器管理的新手。几天前,我注册了一个服务器赫茨纳使用 Ubuntu 11.04。
我打算使用 PostgreSQL,在使用 apt-get 安装失败后,我从源代码安装了它。安装本身并没有失败,但是 PostgreSQl 服务不会自动启动,或者当我尝试手动启动它时也不会启动。当我尝试使用它做任何事情时,它都会失败并显示以下错误消息:
manager@Ubuntu-1104-natty-32-minimal:~$ sudo su postgres -c psql template1
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"?
这是我使用 apt-get 安装 PostgreSQL 并从源代码重新安装时遇到的错误。以下是我从源代码安装时得到的输出。这证实了 PostgreSQL 确实已安装。
make -C config install
make[1]: Entering directory `/home/manager/postgresql-9.0.4/config'
/bin/mkdir -p '/usr/local/pgsql/lib/pgxs/config'
/bin/sh ../config/install-sh -c -m 755 ./install-sh '/usr/local/pgsql/lib/pgxs/config/install-sh'
make[1]: Leaving directory `/home/manager/postgresql-9.0.4/config'
PostgreSQL installation complete.
但是,服务不是自动启动的吗?这里没有:
manager@Ubuntu-1104-natty-32-minimal:~$ ps auxw | grep post
manager 6734 0.0 0.0 4156 868 pts/0 S+ 14:10 0:00 grep --color=auto post
这让我的耐心和信心大打折扣。请帮我解决这个问题。
答案1
回答我自己的问题。这有点烦人,任何 StackExchange 网站上的第一个问题对我来说都不太好。
我已经这样做了,但这次不知怎么就成功了。这样做了:
- sudo apt-get 更新 && sudo apt-get 升级
- sudo apt-get purge postgresql*
- sudo apt-get -f 安装
- sudo apt-get 安装 postgresql
奇迹般有效。
注意:在 purge 命令中添加 * 将清除所有以 postgresql 开头的包
答案2
我在使用 Hetzner 时也遇到了这个问题,非常烦人。下面是我解决问题的方法提示:查看了一些 pg 包脚本
sudo apt-get purge postgresql*
# 结尾 * 很重要
sudo apt-get install postgresql
我怀疑 Hetzner 的 11.04 图像有问题,或者是 Ubuntu 的 .deb 有问题(但不太可能)。
答案3
我在 Natty 启动板上没有看到此错误。同样的问题已作为启动板上有错误Hardy 的,并已修复。所以按照这个逻辑,我认为这是一个错误,在启动板上提交错误可能是最佳做法。
进一步研究后,我发现了两个有趣(但很旧)的主题,显示了完全相同的错误,似乎值得研究:
这个话题2006 年的一篇文章讨论了同样的问题,并声称
sudo /etc/init.d/postgresql-8.1 stop
sudo /etc/init.d/postgresql-8.1 start
psql template1
作品。
在ubuntu论坛2008 年有一个关于相同错误且状态为“已解决”的主题。请查看该主题中的许多建议。
答案4
运行 Ubuntu 14.04 时,我遇到了类似的问题,无法使用上述解决方案使其正常工作。最后我找到了答案这里。
a)我aptitude search postgresql|grep ^i
在终端中运行此命令并得到以下结果:
i postgresql - object-relational SQL database (supported
i A postgresql-9.3 - object-relational SQL database, version 9.
i A postgresql-client-9.3 - front-end programs for PostgreSQL 9.3
i A postgresql-client-common - manager for multiple PostgreSQL client ver
i A postgresql-common - PostgreSQL database-cluster manager
b) 然后:sudo aptitude purge postgresql postgresql-9.3 postgresql-common
c)最后:sudo aptitude install postgresql
现在一切正常。