在Ubuntu 18.04上首次安装PostgreSQL 14.1时遇到问题



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

如果这个问题是以我即将提出的方式提出的,我想提前道歉,但我认为没有。如果是,请指引我到合适的地点!

我已经在谷歌上搜索了很多,我发现的所有信息似乎都很零散,或者我最终会沿着一条意大利面条般的超链接(a la-这样做,然后用比你需要的更多的信息跟随这个其他链接-来理解这个其他需要的部分)。就我个人而言,我不想跳到网络上的50个不同位置来尝试,并想出一个我认为有效的零碎解决方案,但后来却被证明是错误的。我想知道该做什么以及为什么它有效。我尝试过阅读文档,但已经放弃了,因为对我来说,似乎假设服务器已经由数据库管理员设置

与其直接阐明我的问题(因为我在尝试这样做时遇到了比我希望的更多的麻烦),我相信在第一次安装PostgreSQL后,通过说明我的期望值,间接地阐明我的问题会更容易。

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

sudo apt install postgresql-14

在继续之前,我想提前补充一点,我不想关于替代操作系统或安装方法的建议。我只想能够得到";启动并运行";从这一点出发,以一种常识性的方式。

接下来,我知道前面提到的命令创建了一个名为postgres的*nix用户。

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

  • 通过apt安装PostgreSQL之后,以下是我的预期目标:
    • 我希望任何客户端能够从存在从客户端到服务器的路由的任何计算机连接到数据库服务器。
      • 为了实现这些既定目标的简单性,当直接或隐含地表示我正在尝试将客户端连接到数据库服务器时,我假设客户端至少能够ping服务器运行的机器,反之亦然
      • 目前,我并不完全担心数据库可以从公共互联网上访问
      • 我希望能够从局域网上的任何计算机访问数据库,无论是实际的局域网,还是某种逻辑局域网(如WAN或VPN)
    • 如果我更改postgres用户的PostgreSQL密码,我预计任何通过postgresli>这意味着,如果我想通过password postgresALTER USER postgres WITH PASSWORD 'some_password';将密码更改为some_password(我假设这是更改PostgreSQL用户登录密码的方式),那么。。。
      • 我希望从任何主机运行psql [-h host] -U postgres -W。。。
        • 当我被提示输入密码时。。。
          • 我只能通过输入some_password的确切密码登录
          • 为密码输入任何其他任意文本都不允许我登录。
            • 我将此作为一项要求添加,因为以前的安装尝试表明情况并非如此
    • 我希望能够创建一个PostgreSQL用户帐户,而不是postgres(例如db_user),并使用密码,并使其符合与postgresli>,即一旦新帐户获得登录权限,就必须强制执行相同的常识性登录要求,即如果您没有正确的用户名/密码组合,则无法登录。

如果能够以最小的心理摩擦来解释实现上述目标的过程,我将不胜感激

可以随意假设,我的知识与刚刚完成大学一年级学习的CS本科生不相上下,他也了解Linux文件系统和基本的计算机网络。我只是想让尽可能多的人都能找到答案,因为我相信我不是唯一一个在安装PostgreSQL时遇到困难的人,尽管我有着强大的计算机知识水平。

  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服务postgresql重启

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

相关内容

最新更新