通过 PostgreSQL 中的用户角色创建数据库

发布于 2024-09-11 18:05:07 字数 210 浏览 5 评论 0原文

我创建了一个名为 Admin 的角色,并为其授予了所有访问权限(包括 CREATEDB)。我创建了一个用户 ekekakos,他是管理员角色的成员并继承了该角色。当我尝试使用 ekekakos 创建新数据库时,我收到以下消息: 错误。创建数据库的权限被拒绝。 当我向用户 ekekakos 启用选项 CAN CREATE DB 时,数据库将被创建。 为什么用户不具有管理员角色的权限?

谢谢

I have created a ROLE with name Admin and I have given it all accesses (including CREATEDB). I have created a User ekekakos who is member of Admin role and inherints from it. When I am trying to create a new DB with ekekakos I am getting the following message:
ERROR. PERMISSION DENIED TO CREATE DATABASE.
When I enable the option CAN CREATE DB to the user ekekakos, the database is created.
Why the user do not take the privilages of the role Admin?

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

淡水深流 2024-09-18 18:05:07

摘自文档

角色属性 LOGIN、SUPERUSER、CREATEDB 和 CREATEROLE 可以被视为特殊权限,但它们永远不会像数据库对象上的普通权限那样被继承。您实际上必须将 ROLE 设置为具有这些属性之一的特定角色才能使用该属性。

Excerpt from the docs:

The role attributes LOGIN, SUPERUSER, CREATEDB, and CREATEROLE can be thought of as special privileges, but they are never inherited as ordinary privileges on database objects are. You must actually SET ROLE to a specific role having one of these attributes in order to make use of the attribute.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文