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

What is Create User and Create Role in Postgresql?

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

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

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

谁能解释得更清楚些?

提前致谢

在 PostgreSQL 9.4 文档中说: "CREATE USER is now an alias for CREATE ROLE. The only difference is that when the command is spelled CREATE USER, LOGIN is assumed by default, whereas NOLOGIN is assumed when the command is spelled CREATE ROLE."

所以你关于 CREATE ROLE 和 CREATE USER 的问题转移到关于 LOGIN 和 NOLOGIN 属性之间的区别的问题,因为 PostgreSQL 只知道角色。

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

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

毕竟我认为这只是表达您已经说过的内容的另一种方式。