我正在尝试使用 Backports 在 Debian Squeeze 服务器上安装 PostgreSQL 9.1,但安装后我没有 /etc/postgresql 文件夹,而是有一个 /etc/postgresql-common 文件夹。
我做错了什么吗?根据 Debian Wiki,我应该有一个 /etc/postgresql/9.1/ 文件夹。
答案1
我知道这个问题已经很老了,但我刚刚遇到了同样的问题。
仔细观察输出后,apt-get install postgresql
我注意到输出首先指出我的语言环境设置有问题,最后报告无法创建集群:
Error: The locale requested by the environment is invalid.
Error: could not create default cluster. Please create it manually with
pg_createcluster 9.1 main --start
or a similar command (see 'man pg_createcluster').
要最终解决问题,可以(重新)安装语言环境并重置语言环境配置。对于我(使用 debian 7.8 系统)来说,这是通过以下方式完成的:
apt-get install locales
或者
dpkg-reconfigure locales
如果已经安装的话。
最后重新安装整个 postgresql 服务器系统。对我来说这是
apt-get --purge remove postgresql postgresql-9.1 postgresql-common
apt-get install postgresql postgresql-9.1 postgresql-common
我希望这可以帮助将来的某人比我更快地解决这个问题:-)
答案2
我遇到了同样的问题,无法通过简单地删除并重新安装来修复它。问题与 postgresql 是一个元包有关。修复 (详细信息)是使用通配符清除所有内容:
apt-get --purge remove postgresql\*
然后重新安装。
答案3
我并不是想在这里表现出尊重,而只是想创造它。
如果没有初始化集群,它实际上只是一个空目录。最有可能的情况是你没有创建集群(请参阅 中的内容/var/lib/postgresql
)。
您可以使用(sudo)mkdir /etc/postgresql /etc/postgresql/9.1
来创建目录。
然后使用 (sudo) pg_createcluster 9.1 main
创建您的 DB 群集(称为 main)。创建后,您将拥有一个/etc/postgresql/9.1/main
包含该群集设置的目录。
拥有集群后,使用(sudo)pg_ctrlcluster 9.1 main start
启动并运行集群。
答案4
有趣的是。我曾经遇到过这种情况,当时我尝试使用aptitude install
postgres 包,但删除、清除和安装都apt-get
成功了。这是一个包问题。报告错误。
dpkg -c /var/cache/apt/archives/[PACKAGE-NAME].deb
显示包中包含哪些内容以及需要安装哪些内容。
否则,您可能会幸运地获得一些 ubuntu 软件包。最终,构建并不困难,checkinstall
您可以轻松创建自己的软件包并删除源代码。