Postgres 9.3 安装中缺少 pg_ctl 包

Din*_*ina 3 postgresql postgresql-9.3

我已经使用“apt-get install postgresql”在 ubuntu 14.04 上安装了 postgresql 9.3。

一切都很顺利,直到我发现我无法访问“pg_ctl”命令。安装 postgres-xc 实际上会破坏 postgresql 服务器。包链接失效。我无法重新安装并且不得不恢复我的 VM 并在没有 pg_ctl 的情况下继续工作。

我的问题是,要访问这个包,我应该从头开始还是卸载并重新安装 postgresql?我应该首先安装什么?或者,我的路径有问题吗?

(我是 postgresql 的新手,出于工作目的已经投入其中)

Dan*_*ité 8

在 Debian/Ubuntu 中, 的功能pg_ctlpg_ctlcluster. 引用自其联机帮助页:

姓名

       pg_ctlcluster - 启动/停止/重启/重新加载 PostgreSQL 集群

概要

       pg_ctlcluster [选项] 集群版本集群名称操作 -- [pg_ctl
       选项]

       其中动作 = 开始|停止|重启|重新加载|提升

描述

       该程序控制特定集群的 postmaster 服务器。
       它本质上包装了 pg_ctl(1) 命令。它确定集群
       版本和数据路径,并调用正确版本的 pg_ctl
       适当的配置参数和路径。

从技术上讲,pg_ctl没有安装为 Debian/Ubuntu 打包的 postgres 是不正确的。它实际上安装在/usr/lib/postgresql/X.Y/binX.Ypostgres 版本在哪里。此路径有意不在任何用户的默认 PATH 中,因为它永远不需要直接调用。

这种设置的原因是 Debian/Ubuntu 包支持并行运行的多个 PostgreSQL 实例,无论是相同的还是不同的主要版本。

要了解这一点,最好先阅读https://help.ubuntu.com/community/PostgreSQL,然后再阅读真正的 PostgreSQL 手册或任何其他非 Ubuntu 文档。

postgres-xc是 PostgreSQL 的多主分支,不应与 PostgreSQL 本身混淆。建议安装它以获取的提示pg_ctl是一个不幸的废话,可能是基于postgres-xc.