gpt4 book ai didi

windows-8 - 什么是 Postgresql 中的创建用户和创建角色?

转载 作者:行者123 更新时间:2023-12-04 16:25:47 26 4
gpt4 key购买 nike

请解释在 PostgreSQL 中创建用户和创建角色的含义是什么我是 PostgreSQL 的新手。

我尝试自己学习,我理解创建用户意味着能够访问数据库集群并在创建数据库集群的同一台计算机上或从另一台具有用户名和密码的计算机上管理它的用户。

我认为创建角色意味着我创建的新用户具有哪种角色。如果我将创建角色设置为用户,他无法更改数据库,所以他不能。但是,如果我设置了创建角色,则该用户可以更改数据库。

谁能解释得更清楚?

提前致谢

最佳答案

在 PostgreSQL 9.4 文档中,它说:
“CREATE USER 现在是 CREATE ROLE 的别名。唯一的区别是,当命令拼写为 CREATE USER 时,默认情况下假定为 LOGIN,而当命令拼写为 CREATE ROLE 时,假定为 NOLOGIN。”

因此,您关于 CREATE ROLE 和 CREATE USER 的问题转移到关于 LOGIN 和 NOLOGIN 属性之间差异的问题,因为 PostgreSQL 只知道角色。

根据描述,LOGIN/NOLOGIN 属性确定角色是否可用于从客户端进行连接。客户端可以是从 pgAdmin III 到 Web 应用程序的任何内容。
要对此进行测试,您可能需要创建一个具有 LOGIN 属性的角色,并使用它而不是您的 postgres 角色通过 pdAdmin III 连接到您的服务器。

具有 NOLOGIN 属性的角色无法执行此操作。这种类型的角色可以看作是可以添加权限的对象。 LOGIN 角色然后可以通过将它们添加为成员来继承这些权限。
人们可以从组和作为组成员的用户的角度来考虑整个问题。

所以毕竟我认为这只是表达你已经说过的话的另一种方式。

关于windows-8 - 什么是 Postgresql 中的创建用户和创建角色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31490683/

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