在Postgres中,当表所有者(例如"xxx“)试图将表所有权传递给用户"yyy”时,他会出错。
错误:必须是角色"yyy“的成员
当我进一步搜索时,它可以用两种方式固定。
除了这两种方式之外,有没有任何方法可以转移表的所有权?
发布于 2022-09-26 03:29:46
不,没有办法避免这些要求。正如文献资料所说:
必须拥有该表才能使用
ALTER TABLE。..。要更改所有者,还必须是新的所有者角色的直接或间接成员,并且该角色必须在表的模式中具有CREATE特权。(这些限制强制规定,通过删除和重新创建表,更改所有者不会做任何您无法做的事情。但是,超级用户无论如何都可以更改任何表的所有权。)
关键是在括号中:更改对象的所有权将不允许您做任何您不能用DROP/CREATE做的事情。其他的都是安全漏洞。
有REASSIGN OWNED可以批量更改对象所有权,但权限要求是相同的。
https://stackoverflow.com/questions/73847293
复制相似问题