【问题标题】:Having Trouble with a First Time Installation of PostgreSQL 14.1 on Ubuntu 18.04在 Ubuntu 18.04 上首次安装 PostgreSQL 14.1 时遇到问题
【发布时间】:2021-12-15 01:24:01
【问题描述】:

我第一次尝试安装 PostgreSQL 14 时遇到了一些麻烦。

如果这个问题是以我即将提出的方式提出的,我想提前道歉,但我认为它没有。如果是,请引导我到适当的位置!

我在谷歌上搜索了很多关于这件事的信息,我发现的所有信息似乎都是零散的,或者我最终遵循了意大利面条式的超链接(a la-执行此操作并关注此其他链接与比您需要更多信息-了解此其他所需部分)。 就个人而言,我不想跳到网络上的 50 个不同位置尝试并想出一个我相信可行的零碎解决方案,但后来被证明是错误的.我想知道该怎么做以及为什么它有效。我已经尝试阅读文档,但已经放弃了,因为对我来说,它似乎假设服务器已经由数据库管理员设置

与其直接表达我的问题(因为我似乎遇到了比我想这样做更多的麻烦),我相信通过陈述什么来间接表达我的问题会更容易我的期望将是在第一次安装 PostgreSQL 之后。

首先,我会提到我正在运行 Ubuntu 18.04.6 LTS,并正在使用以下命令安装 PostgreSQL 14.1

sudo apt install postgresql-14

在继续之前,我想提前补充一点,我需要关于替代操作系统或安装方法的建议。我只是希望能够从这个确切的点以常识的方式“启动并运行”。

继续前进,我知道上述命令会创建一个名为 postgres 的 *nix 用户。

从这里开始,我现在可以在通过该命令安装软件后立即使用我的目标和期望的大纲间接说明我的问题。

  • 通过apt 安装 PostgreSQL 之后,这些是我的预期目标:
    • 我希望 任何 客户端能够从存在从客户端到服务器的路由的任何计算机连接到数据库服务器。
      • 为了简单起见,当直接或隐含地声明我正在尝试将客户端连接到数据库服务器时,我假设客户端能够在至少,ping 运行服务器的机器,反之亦然。
      • 目前,我并不完全担心可以从公共 Internet 访问该数据库。
      • 我希望能够从 LAN 上的任何计算机访问数据库,无论是实际 LAN 还是某种逻辑 LAN(如 WAN 或 VPN)。
    • 如果我更改 postgres 用户的 PostgreSQL 密码,我希望任何通过 postgres 用户登录到数据库服务器的客户端都需要密码。
      • 这意味着如果我想通过 \password postgresALTER USER postgres WITH PASSWORD 'some_password'; 将密码更改为 some_password (我假设这是您更改 PostgreSQL 用户登录密码的方式),然后...
        • 我希望从任何主机运行psql [-h host] -U postgres -W...
          • 当提示我输入密码时...
            • 我可以通过输入 some_password 的确切密码登录。
            • 输入任何其他任意文本作为密码不应让我登录。
              • 我将其添加为一项要求,因为之前的安装尝试表明并非如此。
      • 我希望能够使用密码创建除 postgres 以外的 PostgreSQL 用户帐户(例如 db_user 并将其作为主题与 postgres 用户的要求相同。
        • 即授予新帐户登录权限后,必须实施相同的登录常识要求,即如果您没有正确的用户名/密码,则无法登录组合。

如果实现上述过程的过程能够以一种能够以最小的心理摩擦理解的方式进行解释,我将非常感激。

请随意假设我的知识与刚刚完成大学一年级的本科 CS 学生相当,他们还了解 Linux 文件系统和基本的计算机网络。我只是希望尽可能多的人能够获得答案,因为我确信我不是唯一一个在安装 PostgreSQL 方面遇到困难的人,尽管我拥有高级用户的计算机知识水平。

【问题讨论】:

  • 你是怎么开始的? Ubuntu 18.04 在其默认存储库之外运行 PostgreSQL 10,而不是 14。如果您不愿意以任何方式更改安装方法,那么您一开始就不会运行 14。
  • 请澄清您的具体问题或提供其他详细信息以准确突出您的需求。正如目前所写的那样,很难准确地说出你在问什么。

标签: postgresql ubuntu ubuntu-18.04 apt postgresql-14


【解决方案1】:
  1. sudo apt install postgresql

  2. sudo -u postgres psql

    • 使用\password 或您提到的其他方法为该用户设置密码
  3. sudo vi /etc/postgresql/10/main/pg_hba.conf

    • 将此文件中唯一未注释的非空行设为host all all all md5
  4. sudo vi /etc/postgresql/10/main/postgresql.conf

    • 取消注释listen_addresses 行并将其设置为'*'
  5. sudo service postgresql 重启

当您创建一个新用户时,您还应该创建一个与该用户具有相同拼写的新数据库。否则,当您尝试使用 psql -U 登录时,您将需要指定数据库名称,例如psql -U newname -d postgres -h[hhh]。如果您实际上运行的是 14 而不是 10,那么您需要相应地更改需要编辑的配置文件的路径。

【讨论】:

    猜你喜欢
    • 2019-11-11
    • 1970-01-01
    • 2020-12-13
    • 2012-08-27
    • 2015-07-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多