【问题标题】:Distinctions between users and groups in postgresqlpostgresql中用户和组的区别
【发布时间】:2018-11-27 09:20:26
【问题描述】:

来自Is postgres a default and special user of PostgreSQL?

PostgreSQL 中的用户与可以登录的角色相同。一般 nologin 角色用作组,但这不是必需的。

摆脱用户和组的概念。有些角色可以 登录。角色可以是其他角色的成员。

基本上,用户和组的概念被合并到角色中。但在我看来还是有区别的。

“nologin 角色用作组,但这不是必需的。” 是不是意味着

  • 非登录角色可能仍然是用户而不是组?

  • 一个登录角色可以是一个组吗?

“角色可以是其他角色的成员”,是什么意思

  • 一个组可以是另一个角色的成员,而另一个角色可以是用户吗?

  • 角色可以是用户的成员,该角色可以是组吗?

谢谢。

【问题讨论】:

  • 能够登录数据库是这两者之间唯一的技术区别。其他一切都一样。
  • 我不能比@ŁukaszKamiński 说得更好
  • @ŁukaszKamiński 谢谢。你能证明一个组可以是用户的成员或另一个组的成员吗?

标签: postgresql


【解决方案1】:

唯一的区别在于登录

下面引用doc

CREATE USER 现在是 CREATE ROLE 的别名。唯一的区别是,当命令拼写为 CREATE USER 时,默认假定为 LOGIN,而当命令拼写为 CREATE ROLE 时,假定为 NOLOGIN。

一般来说,用户/组没有单独的概念。只有角色。并且一个角色可以是其他角色的成员。而且一个角色还可以有一组属性,比如“SUPERUSER”、“CREATEDB”等,而“LOGIN”恰好是其中之一。

【讨论】:

  • 谢谢。你能证明一个组可以是用户的成员或另一个组的成员吗?
猜你喜欢
  • 1970-01-01
  • 2016-12-11
  • 2016-04-17
  • 2013-05-19
  • 1970-01-01
  • 2011-02-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多