更改所有者对象时,Postgresql:错误“必须是关系的所有者”
发布时间:2020-12-13 16:35:50 所属栏目:百科 来源:网络整理
导读:需要授予当前用户(“userA”)以允许他更改另一个用户(“userC”)所属的对象所有者的授权选项/技巧? 更准确地说,联系表由userC拥有,并且当我执行以下查询以将所有者更改为与用户A连接的用户B时: alter table contact owner to userB; 我得到这个错误: ER
需要授予当前用户(“userA”)以允许他更改另一个用户(“userC”)所属的对象所有者的授权选项/技巧?
更准确地说,联系表由userC拥有,并且当我执行以下查询以将所有者更改为与用户A连接的用户B时: alter table contact owner to userB; 我得到这个错误: ERROR: must be owner of relation contact 但是userA具有正常的所有权限(“在架构上创建”授权选项应该是足够的): grant select,insert,update,delete on all tables in schema public to userA; grant select,usage,update on all sequences in schema public to userA; grant execute on all functions in schema public to userA; grant references,trigger on all tables in schema public to userA; grant create on schema public to userA; grant usage on schema public to userA; THKS 命令行输出: root@server:~# psql -U userA myDatabase myDataBase=>dt contact List of relations Schema | Name | Type | Owner -------+---------+----------+--------- public | contact | table | userC (1 row) myDataBase=> myDataBase=>alter table contact owner to userB; ERROR: must be owner of relation public.contact myDataBase=>
感谢Mike的评论,我重新阅读了该文档,我已经意识到,我目前的用户(也就是已经拥有创建权限的用户A)并不是新的角色的直接/间接成员…
所以解决方案很简单,我刚刚完成了这个授权: grant userB to userA; 这都是民间的 更新: 另一个要求是,对象必须由用户userA拥有才能更改它… (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |