【发布时间】:2021-01-26 07:58:32
【问题描述】:
我按照文档使用createuser xxx -g postgres -i作为postgres的成员创建了一个帐户,但是新用户xxx似乎没有postgres的任何权限,例如create user和create db。这是为什么呢?
【问题讨论】:
标签: postgresql user-roles
我按照文档使用createuser xxx -g postgres -i作为postgres的成员创建了一个帐户,但是新用户xxx似乎没有postgres的任何权限,例如create user和create db。这是为什么呢?
【问题讨论】:
标签: postgresql user-roles
来自the docs:
角色属性
LOGIN、SUPERUSER、CREATEDB和CREATEROLE可以被认为是特殊权限,但它们永远不会像数据库对象的普通权限那样被继承。您实际上必须SET ROLE到具有这些属性之一的特定角色才能使用该属性。
您的用户有权担任postgres 的角色,但它不继承permission to create a user or database。您需要明确授予(实际上是ALTER ROLE)。 (虽然用户可以自己授予)。
【讨论】: