![无法连接到数据库 postgres:无法连接到服务器:没有此文件或目录](https://linux22.com/image/1583747/%E6%97%A0%E6%B3%95%E8%BF%9E%E6%8E%A5%E5%88%B0%E6%95%B0%E6%8D%AE%E5%BA%93%20postgres%EF%BC%9A%E6%97%A0%E6%B3%95%E8%BF%9E%E6%8E%A5%E5%88%B0%E6%9C%8D%E5%8A%A1%E5%99%A8%EF%BC%9A%E6%B2%A1%E6%9C%89%E6%AD%A4%E6%96%87%E4%BB%B6%E6%88%96%E7%9B%AE%E5%BD%95.png)
刚刚安装的 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
。