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

Windows 8 Postgresql中的创建用户和创建角色是什么?,windows-8,postgresql-9.4,Windows 8,Postgresql 9.4,请解释一下在PostgreSQL中创建用户和创建角色的含义。我是PostgreSQL的新手 我试着自己学习,我理解“创建用户”是指能够访问数据库集群并在创建数据库集群的同一台计算机上或从另一台具有用户名和密码的计算机上对其进行管理的用户 我认为创建角色意味着我创建的新用户,那个用户有什么样的角色。若我将createrole设置为user,那个么他就不能更改数据库,所以他不能。但若我设置了createrole,那个么这个用户就可以更改数据库了 有人能解释得更清楚些吗 提前感谢在PostgreSQL

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

我试着自己学习,我理解“创建用户”是指能够访问数据库集群并在创建数据库集群的同一台计算机上或从另一台具有用户名和密码的计算机上对其进行管理的用户

我认为创建角色意味着我创建的新用户,那个用户有什么样的角色。若我将createrole设置为user,那个么他就不能更改数据库,所以他不能。但若我设置了createrole,那个么这个用户就可以更改数据库了

有人能解释得更清楚些吗


提前感谢

在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属性的角色无法执行此操作。可以将此类型的角色视为可以向其添加权限的对象。然后,登录角色可以通过将其添加为成员来继承这些权限。 人们可以从群体和作为群体成员的用户的角度来思考整个问题


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

很好的解释