使用 Yum 安装后无法启动 Postgres 守护程序

使用 Yum 安装后无法启动 Postgres 守护程序

我尝试使用 Yum 在 Fedora 17 上安装 Postgres 9.1.4。如果我这样做:

sudo yum install postgres-libs
sudo yum install postgres
sudo yum install postgis

所有安装似乎都成功完成(即没有错误),但我无法使用以下命令启动 Postgres 守护程序:

service postgresql initdb

就像 Postgres 官方下载指南所说的那样(http://www.postgresql.org/download/linux/redhat/)。错误提示为Unknown operation initdb

RPM 告诉我它将 psql 安装到了/usr/bin/,我确认了这一点。结果发现只有几个组件安装正确(psqlpg_dumppg_configure和其他几个组件),但大多数都缺失了(例如pg_ctlpostgres)。

我尝试了几种不同的配置,并让我的几位同事(比我更有 Linux 经验)查看了它,但到目前为止,什么都没起作用。其中两个人在 Ubuntu 上使用 apt-get 安装 Postgres 时也遇到了类似的问题,这让我认为 rpm 没有发挥作用。似乎唯一的解决方案是从源代码构建它,无论如何这更可靠,但当然需要更长的时间。

不过,我想知道是否有其他人遇到过这个问题和/或使用 yum 或 apt-get 等包管理器在 Fedora 或 Ubuntu 上成功安装了 Postgres?rpm 坏了吗?

答案1

service postgresql initdb命令不起作用,因为现在service只调用 systemd,所有这些随机辅助函数都消失了。如文档所述这里,你现在需要做:

sudo postgresql-setup initdb

去完成同样的事情。

其余的谜团也很简单:您丢失了包裹postgresql-server

sudo yum install postgresql-server

然后您将得到/usr/bin/pg_ctl/usr/bin/postgres。运行yum search postgres是一种寻找线索的有效方法,但您也可以执行sudo yum install /usr/bin/pg_ctl或类似操作,yum 将找出哪个软件包提供了丢失的文件。

相关内容