gpt4 book ai didi

postgresql - 有人可以解释一下 Postgresql 角色、Postgresql 用户和 Linux 用户之间的关系吗?

转载 作者:行者123 更新时间:2023-11-29 11:28:51 26 4
gpt4 key购买 nike

我正在尝试在 Ubuntu 14 服务器上设置 Postgres 9.3,此时我感到非常沮丧。我以前使用过 MySQL,所以我对一般数据库概念以及客户端/服务器模型等很满意。

我从两个用户开始——“root”和“sam”(我)。作为“sam”,我使用 apt-get 安装 postgresql。这还会创建名为“postgres”的第三个用户。

很好。

我被告知要使用 postgres,您必须以 postgres 用户身份登录,所以我切换到该帐户。显然,这带有一个 postgres 管理员角色(我认为我对角色本身的概念很好),而且显然所有角色都有一个同名的关联数据库(?)。那么现在我有一个名为 postgres 的 Linux 帐户、一个名为 postgres 的角色和一个名为 postgres 的数据库?这一切似乎都是不必要的,但我假设它是有用的,原因我不知道(不是讽刺的意思——当事情一开始看起来过于复杂时通常就是这种情况)。

因此,要创建数据库,我是否以 postgres 身份登录服务器,通过键入“psql”启动 postgres(它不要求输入密码 - 为什么 postgres 帐户没有密码?)然后继续从那里?还是我应该创建一个新角色?该角色是否需要自己的 Linux 用户?该角色是否应与我要创建的数据库同名?

我明白这有点困惑,但我的困惑是如此之大,以至于我什至不确定我是否理解这里的基本原理。我想念 MySQL。

我一直主要使用 DigitalOcean tutorial为此 - 通常非常好 - 但它并没有真正说明这一点。我还阅读了没有帮助的 postgres 文档(特别是安装和用户/角色部分),谷歌搜索结果的帮助更小。

这是我回到 MySQL 安全毯之前的最后希望。对进行此点击有什么建议吗?

最佳答案

  • OS 用户名和 Postgres DB 用户名不相关;他们生活在不同的宇宙中。
  • 一个异常(exception):如果您通过 unix 域套接字连接来自同一台机器,并且您没有明确指定用户名 ,您的操作系统名称也被假定为您的数据库用户名。 (这在大多数情况下是不正确的)
  • 第二个异常(exception):“postgres”用户名同时用作操作系统用户名(文件的所有者、正在运行的进程的 uid)作为 DBMS super 用户。
  • 注意:“root”对于数据库用户来说是一个不好的名字。

关于postgresql - 有人可以解释一下 Postgresql 角色、Postgresql 用户和 Linux 用户之间的关系吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36602509/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com