无法使用命令&postffre'或者' pg_ctl'

时间:2014-07-15 11:48:20

标签: postgresql installation

我在Unix上。我安装了postgresql-9.3 当我想使用pg_ctlpostgres启动服务器时,终端会给我:

The program 'postgres' is currently not installed. You can install it by typing:
sudo apt-get install postgres-xc

如果没有这个postgres-xc,我不能启动服务器吗?

4 个答案:

答案 0 :(得分:2)

这必须是您先前安装的postgres-xc包的残余。

由于您刚刚安装了postgresql-9.3并且似​​乎没有使用任何数据库,但我建议完全清除所有postgres包。

sudo apt-get purge postgresql-9.2
sudo apt-get purge postgresql-xc
...

直到没有任何东西:

dpkg -l | grep postgres

然后从头开始。您的pg_ctl实例似乎属于包postgres-xc。在您卸载软件包后,这应该已经消失。找出one of these commands

dpkg -S pg_ctl
dlocate pg_ctl
apt-file search pg_ctl

pg_ctlcluster由包postgresql-common提供 pg_ctl包由postgresql-9.3提供。

More about starting Postgres in the manual.

答案 1 :(得分:0)

你可能会遗漏一些东西。

尝试: sudo apt-get install postgresql-clientsudo apt-get install postgresql postgresql-contrib

关于安装xc的消息是一个哑弹,它可能暗示它基于它在xc存储库中扫描的内容。

以下是对此问题及其解决方案的一个很好的参考: https://dba.stackexchange.com/questions/72580/missing-the-pg-ctl-package-in-postgres-9-3-installation

答案 2 :(得分:0)

由于正常安装postgres不会将 postgres 二进制文件放在路径中的原因。

将正确的目录添加到路径可以解决问题(暂时)。

PATH=/usr/lib/postgresql/9.3/bin:$PATH

为了让它在我的Ubuntu机器上永久保存,我将该行添加到 / etc / environment ,这使得它适用于所有用户。

设置PATH的正确方法因系统而异,有关详细信息,请参阅:

How to permanently set $PATH on Linux?

答案 3 :(得分:0)

您必须安装 postgresql-client

sudo install postgresql-client

尝试将此命令输入控制台:

sudo -u postgres psql