通过角色为 PostgreSQL 中的用户创建
Posted
技术标签:
【中文标题】通过角色为 PostgreSQL 中的用户创建【英文标题】:CREATEDB through a ROLE for a User in PostgreSQL 【发布时间】:2011-03-21 13:31:14 【问题描述】:我创建了一个名为 Admin 的 ROLE,并授予了它所有访问权限(包括 CREATEDB)。我创建了一个用户 ekekakos,他是管理员角色的成员并从中继承。当我尝试使用 ekekakos 创建新数据库时,我收到以下消息: 错误。创建数据库的权限被拒绝。 当我为用户 ekekakos 启用 CAN CREATE DB 选项时,将创建数据库。 为什么用户不具有 Admin 角色的特权?
谢谢
【问题讨论】:
【参考方案1】:摘自docs:
角色属性 LOGIN、SUPERUSER、CREATEDB 和 CREATEROLE 可以被认为是特殊权限,但它们永远不会像数据库对象的普通权限那样被继承。您实际上必须将 SET ROLE 设置为具有这些属性之一的特定角色才能使用该属性。
【讨论】:
以上是关于通过角色为 PostgreSQL 中的用户创建的主要内容,如果未能解决你的问题,请参考以下文章