【问题标题】:Why does PostgreSQL run on Ubuntu after install without using initdb?为什么不使用 initdb 安装后 PostgreSQL 在 Ubuntu 上运行?
【发布时间】:2009-02-25 23:17:40
【问题描述】:

我很好奇为什么在第一次运行 psql 之前不必按照 postgresql 手册使用 initdb? (我已经在8.04.1上安装了8.3版本)

Red Hat 需要 -c postgresql start 但不需要 init.db。

但是,在 FreeBSD 上,您必须运行 initdb。

为什么设置不一致?是否归结为 apt-get install、rpm -i 和 pkg_add 之间的区别?

【问题讨论】:

    标签: ubuntu installation redhat


    【解决方案1】:

    很可能只是那些系统打包的启动脚本在首次运行时自动运行 initdb。

    【讨论】:

      【解决方案2】:

      几乎可以肯定,是的。不同风格的 Linux 和 Unix 有不同的软件打包方法;例如,FreeBSD 是基于 ports 系统(您可以从头开始编译,尽管其中大部分都预先构建了二进制包),而在主流 Linux 发行版中通常情况下您会发现一个完全预编译的为流行的东西准备了二进制包。

      维护打包系统的不同人员(“打包者”,以及其他有时不那么亲切的昵称)对问题采用不同的方法,通常反映了父项目的精神。或者,可能只是一个打包者认为使用标准配置进行设置并代表您运行一些常见的初始化步骤是合理的,而一个更不干涉的打包者会将其留给最终用户,特别是如果软件以任何方式复杂或在部署之前需要任何考虑,例如系统服务。

      【讨论】:

        【解决方案3】:

        它不是启动脚本,而是在您安装的包中指定的安装后挂钩,它为您执行了额外的步骤。无论您使用 .deb 还是 .rpm 格式,打包者都可以将任务设置为在所有文件安装后发生。

        有些发行版会在您安装软件时牵着您的手,有些发行版希望您更愿意自己做事情。对于为什么任何打包程序都以他们的方式做事,确实没有黄金答案。

        Ubuntu 力求实现一键式轻松安装,而无需用户看到 shell。专为系统集成商构建的其他发行版不适合您。

        欢迎使用 31 种(以及更多)围绕 Linux 内核的操作系统,或者关注 BSD 内核的努力。

        每个人都知道应该怎么做。好的发行版假定您知道自己在做什么.. 除非他们当然想从 Microsoft 手中攫取桌面市场,在这种情况下,它们会成为握住您手的优秀桌面发行版。

        这主要是一个选择问题,这就是让整个现象如此酷的原因。

        【讨论】:

          【解决方案4】:

          Debian(以及扩展名 Ubuntu)相当巧妙地处理 PostgreSQL。查看postgresql-common 包了解详细信息。简而言之,它支持安装多个(主要)版本的 postgres,以及运行每个版本的 postgres 的多个集群。要查看您拥有哪些集群,请尝试pg_lsclusters。包维护者假设,如果你是第一次安装 pg 服务器包,你会想要为它初始化一个集群。例如,如果您安装postgresql-9.1,您将默认获得 9.1/main 集群 initdb 供您使用。

          Linux 发行版之间的情况并不一致,因为发行版的重点是为此类问题提供更好的解决方案。 Debian 在这方面提供了一个很好的解决方案。但是,我建议您使用 postgresql PPA 并获取更新版本的 postgresql,尤其是因为您只是在安装东西。

          我刚刚意识到我正在回答一个古老的问题。嘘。

          【讨论】:

            【解决方案5】:

            如果没记错的话,Ubuntu 的 PostgreSQL 软件包是从 Debian 派生的。可能是 Debian 的包装出于某种原因有这个位置。如果是这种情况,Debian 和它的所有衍生产品(如 Ubuntu)将描述相同的行为。仅当您尝试从存储库安装相应的软件时才会发生这种情况。如果您从 PostgreSQL 的站点获取源代码并对其进行编译,您将按照手册中的说明获取它。各种发行版遵循某些打包指南,并在打包某些软件方面采取某些立场。如果你想知道具体的细节,可以戳postgresql包的包维护者了解原因。

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 2012-06-21
              • 2022-06-11
              • 1970-01-01
              • 1970-01-01
              • 2012-02-18
              • 2019-12-24
              • 1970-01-01
              • 2015-06-05
              相关资源
              最近更新 更多