如何在CentOS上运行pg_ctlcluster?

时间:2018-11-14 14:22:26

标签: postgresql centos centos7 postgresql-9.6

我将CentOS 7与EPEL Repo一起使用,并安装了Postgresql 9.6,这是Webshop应用程序所需要的。现在,一些推进安装脚本希望执行pg_ctlcluster。安装以错误结束:

Exception: sudo: pg_ctlcluster: command not found

我检查了/usr/pgsql-9.6/bin,只有pg_ctl,但没有pg_ctlcluster。有人说pg_ctlpg_ctlcluster并不完全相同。 pg_ctlcluster似乎是Ubuntu的东西。它用于Postgres Cluster(...)。

您有什么想法替换pg_ctlcluster的最佳方法是什么?

仅复制/符号链接pg_ctlcluster-> pg_ctl听起来不应该如此。也许有人拥有合适的RPM。

2 个答案:

答案 0 :(得分:0)

pg_ctlcluster不是核心PostgreSQL的一部分,但是PGDG Debian安装软件包附带了该名称的附加实用程序命令。

因此,该推进安装脚本是为Debian或Ubuntu Linux编写的。

您最好向脚本提供者询问支持基于Redhat的Linux发行版的脚本。

答案 1 :(得分:0)

我不想过度使用整个PHP安装脚本,因此此修复程序对我有用:

- $process = $this->getProcess(sprintf('sudo pg_ctlcluster %s main restart --force', $postgresVersion));
+ $process = $this->getProcess(sprintf('sudo -i -u postgres /usr/pgsql-9.6/bin/pg_ctl %s restart', NULL));
+ $process = $this->getProcess(sprintf('exit', NULL));

不适用于生产环境