首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >转移表所有权

转移表所有权
EN

Stack Overflow用户
提问于 2022-09-25 19:25:19
回答 1查看 47关注 0票数 1

在Postgres中,当表所有者(例如"xxx“)试图将表所有权传递给用户"yyy”时,他会出错。

错误:必须是角色"yyy“的成员

当我进一步搜索时,它可以用两种方式固定。

  1. 作为“超级用户”,我们可以转移任何表的所有权。然而,每次都需要超级用户/核心DBA的干预。
  2. 作为用户" yyy“,我们需要授予类似”授予yyy到xxx;",然后作为用户"xxx“传递表所有权,如”将表test_table所有者转换为yyy;“。但是,这似乎将用户"yyy“别名为"xxx",并且用户"xxx”将获得"yyy“的所有权限和授予。尽管表所有权是可能的,但也会授予不必要的特权,这不是目的所在。

除了这两种方式之外,有没有任何方法可以转移表的所有权?

EN

回答 1

Stack Overflow用户

发布于 2022-09-26 03:29:46

不,没有办法避免这些要求。正如文献资料所说:

必须拥有该表才能使用ALTER TABLE。..。要更改所有者,还必须是新的所有者角色的直接或间接成员,并且该角色必须在表的模式中具有CREATE特权。(这些限制强制规定,通过删除和重新创建表,更改所有者不会做任何您无法做的事情。但是,超级用户无论如何都可以更改任何表的所有权。)

关键是在括号中:更改对象的所有权将不允许您做任何您不能用DROP/CREATE做的事情。其他的都是安全漏洞。

REASSIGN OWNED可以批量更改对象所有权,但权限要求是相同的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73847293

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档