我刚刚设置了一个运行 Debian 6.0 64 位的服务器。我已经通过 aptitude 安装了 PostgreSQL,现在我尝试访问 PostgreSQL,但没有成功。我尝试psql
以用户身份访问postgres
,但收到此错误消息
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"?
我似乎也找不到所有配置文件所在的文件夹。在我的 CentOS 服务器上,配置文件存储在 中/var/lib/pgsql
,在我的 Debian 服务器上有一个名为 的文件夹postgresql
,/var/lib
但它是空的。
答案1
如果/var/lib/postgresql/
为空,则表示存在问题。它应该为您安装的每个版本的 PostgreSQL 都有一个目录,假设您通过正常的 dpkg/apt-get 流程进行安装(您说您这样做了),并且该软件包适用于 Debian。另一方面,您有可用的postgres
用户和psql
命令。您当然可能postgresql-client-*
安装了其中一个软件包,但没有安装服务器软件包。
由于您显然没有成功运行 PostgreSQL,我建议通过 aptitude 清除并重新安装,或者(以 root 身份):
apt-get purge postgresql-8.4
apt-get install postgresql-8.4
最后一点。PostgreSQL有自己的 APT 存储库,因此如果您想使用比 8.4 更新的版本,您可以轻松实现。要以 root 身份使用它,请将以下行添加到/etc/apt/sources.list
:
deb http://apt.postgresql.org/pub/repos/apt/ squeeze-pgdg main
然后,以 root 身份:
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add -
apt-get update && apt-get install pgdg-keyring
然后,您可以安装版本 8.2、8.3、8.4、9.0、9.1 或 9.2(截至撰写本文时)。如果您愿意,可以一次安装多个版本。有关软件包的更多信息,请参阅文档postgresql-common
:
zless /usr/share/doc/postgresql-common/README.Debian.gz
答案2
如果安装未完全完成,也会出现类似的错误。尝试设置默认语言,这是常见问题之一。
sudo apt-get remove postgresql* --purge
export LANGUAGE="en_GB.UTF-8"
export LC_ALL="en_GB.UTF-8"
sudo apt-get install postgresql
答案3
您需要删除所有 postgresql 安装和 lib。设置语言环境,然后重新安装 postgresql 和 lib
參考https://stackoverflow.com/questions/2748607/how-to-thoroughly-purge-and-reinstall-postgresql-on-ubuntu/40545924#40545924深入了解为什么以及为什么您应该采取这些步骤。