【问题标题】:What is Create User and Create Role in Postgresql?什么是 Postgresql 中的创建用户和创建角色?
【发布时间】:2015-10-08 01:14:51
【问题描述】:

请解释一下在 PostgreSQL 中创建用户和创建角色是什么意思,我是 PostgreSQL 的新手。

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

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

谁能解释的更清楚些?

提前致谢

【问题讨论】:

    标签: windows-8 postgresql-9.4


    【解决方案1】:

    在 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 角色可以通过将它们添加为成员来继承这些特权。 人们可以从组和用户成为组成员的角度来考虑整个问题。

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

    【讨论】:

    • 很好的解释
    猜你喜欢
    • 2015-11-05
    • 2011-03-21
    • 2020-04-03
    • 1970-01-01
    • 1970-01-01
    • 2013-07-08
    • 2010-12-15
    • 1970-01-01
    • 2019-05-05
    相关资源
    最近更新 更多