我已经使用“apt-get install postgresql”在 ubuntu 14.04 上安装了 postgresql 9.3。
一切都很顺利,直到我发现我无法访问“pg_ctl”命令。安装 postgres-xc 确实会破坏 postgresql 服务器。包链接损坏。我无法重新安装,不得不恢复我的虚拟机并在没有 pg_ctl 的情况下继续工作。
我的问题是,要访问这个包,我应该从头开始还是卸载并重新安装 postgresql?我应该首先安装什么?或者,我的路径有问题吗?
(我是 postgresql 的新手,出于工作目的被扔进了它)
在 Debian/Ubuntu 中, 的功能
pg_ctl
由pg_ctlcluster
. 从其手册页中引用:从技术上讲,
pg_ctl
没有安装为 Debian/Ubuntu 打包的 postgres 是不正确的。它实际上是安装在 中, postgres 版本在/usr/lib/postgresql/X.Y/bin
哪里。X.Y
此路径有意不在任何用户的默认 PATH 中,因为它永远不需要直接调用。这种设置的原因是 Debian/Ubuntu 打包支持多个并行运行的 PostgreSQL 实例,无论是相同的还是不同的主要版本。
要了解这一点,最好先阅读https://help.ubuntu.com/community/PostgreSQL,然后再阅读真正的 PostgreSQL 手册或任何其他非 Ubuntu 文档。
postgres-xc
是 PostgreSQL 的多主分支,不应与 PostgreSQL 本身混淆。建议安装它以获取的提示pg_ctl
是一个不幸的废话,可能是基于postgres-xc
.由于这些命令 pg_ctl 和 initdb 是与 postgresql 一起安装的,并且它们存在于“/usr/lib/postgresql/9.3/bin”中,因此请更改 $PATH 环境变量,以便您可以像 export PATH=/usr/lib/postgresql 一样使用它/9.3/bin:$PATH
但请确保您以 postgres 用户身份登录,因为这是为您创建服务器的用户。
我希望我能够为您提供解决方案谢谢,