无法连接到数据库 postgres:无法连接到服务器:没有此文件或目录

无法连接到数据库 postgres:无法连接到服务器:没有此文件或目录

刚刚安装的 Debian Jessie。我已经安装了:aptitude install postgresql postgresql-contrib

root@vps: createuser
createuser: could not connect to database postgres: 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"?

为什么不起作用?我尝试过这里发布的任何一种解决方案:Debian PostgreSQL 似乎无法正常工作

没有一个能起作用。

/var/lib/postgresql/是空的。/etc/postegresql甚至不存在。

我尝试运行:pg_createcluster 9.4 main --start

但后来我得到了这个:

createuser
createuser: could not connect to database postgres: FATAL:  role "root" does not exist

或者这样,如果我从头开始做:

root@vps:~# pg_createcluster 9.4 main --start
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
        LANGUAGE = "en_US.UTF-8",
        LC_ALL = "en_US.UTF-8",
        LANG = "en_US.UTF-8"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
Error: The locale requested by the environment is invalid.

所以我卸载了,unset LC_TIME按照建议运行这里,重新安装,但现在我收到了原来的错误。

您能否给我提供在全新 Debian 安装中安装 postgres 所需运行的一组命令?

编辑:尝试按照官方指南进行操作这里.那也不管用。

root@vps:/# wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add - apt-get update
gpg: no valid OpenPGP data found.

我真的很困惑。还有人在维护这些东西吗?

编辑:尝试重新安装整个服务器并运行apt-get install postgresql-9.4 postgresql-client-9.4但出现同样的错误。

尝试运行它这里

export LANGUAGE="en_US.UTF-8"
echo 'LANGUAGE="en_US.UTF-8"' >> /etc/default/locale
echo 'LC_ALL="en_US.UTF-8"' >> /etc/default/locale

问题还没有解决。

编辑:我已经尝试过这个:

export LANG=en_US.UTF-8

和这个

root@vps:~# update-locale --reset
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
        LANGUAGE = "en_US.UTF-8",
        LC_ALL = "en_US.UTF-8",
        LANG = "en_US.UTF-8"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").

和这个:dpkg-reconfigure locales

*** update-locale: Error: invalid locale settings:  LC_ALL="en_US.UTF-8" LANGUAGE="en_US.UTF-8" LANG=en_GB.UTF-8

答案1

错误消息表明您的系统已en_US.UTF-8通过环境变量配置为使用区域设置,但是它没有安装

使用安装

sudo locale-gen en_US.UTF-8

完成后,如果postgresql尚未安装,apt-get install postgresql将安装它并初始化默认集群,/var/lib/postgresql/version/main依此类推。

如果已安装 postgresql,并且由于最初创建失败而不存在集群,pg_createcluster 9.4 main --start则将创建一个。如果不确定哪些集群存在/在线,请检查pg_lsclusters

相关内容