今天遇到无法修改表owner的问题
pgdb=> \c pgdb postgres
Password for user postgres:
You are now connected to database "pgdb" as user "postgres".
pgdb=# grant sde to jzsh;
NOTICE: role "jzsh" is already a member of role "sde"
GRANT ROLE
pgdb=# grant sde to jzsh with admin option;
GRANT ROLE
pgdb=# \c pgdb sde
Password for user sde:
You are now connected to database "pgdb" as user "sde".
pgdb=> Alter table sde.market_grid owner to jzsh;
ERROR: must be member of role "jzsh"
pgdb=> \c pgdb jzsh
Password for user jzsh:
You are now connected to database "pgdb" as user "jzsh".
pgdb=> Alter table sde.market_grid owner to jzsh;
ERROR: must be owner of table market_grid
pgdb=> grant sde to jzsh with admin option;
NOTICE: role "jzsh" is already a member of role "sde"
GRANT ROLE
pgdb=> Alter table sde.market_grid owner to jzsh;
ERROR: must be owner of table market_grid
pgdb=> \c pgdb sde
Password for user sde:
You are now connected to database "pgdb" as user "sde".
pgdb=> Alter table sde.market_grid owner to jzsh;
ERROR: must be member of role "jzsh"
pgdb=> Alter table market_grid owner to jzsh;
ERROR: must be member of role "jzsh"
pgdb=> select current_user;
current_user
--------------
sde
(1 row)
pgdb=> reassign owned by sde to jzsh;
ERROR: permission denied to reassign objects
pgdb=> \q
处理办法:
先回收权限,再赋正确角色。


[postgres@pgdb ~]$ psql
Password for user postgres:
psql (12.2)
Type "help" for help.
postgres=# REVOKE sde FROM jzsh;
postgres=# GRANT jzsh TO sde WITH ADMIN OPTION;
postgres=# \c pgdb sde
Password for user sde:
You are now connected to database "pgdb" as user "sde".
pgdb=> Alter table sde.market_grid owner to jzsh;
ERROR: permission denied for schema sde
pgdb=> \dn
List of schemas
Name | Owner
--------+----------
public | postgres
sde | sde
test | jzsh
(3 rows)
pgdb=> reassign owned by sde to jzsh;
REASSIGN OWNED
pgdb=> \dn
List of schemas
Name | Owner
--------+----------
public | postgres
sde | jzsh
test | jzsh
(3 rows)
pgdb=> Alter table sde.market_grid owner to jzsh;
ALTER TABLE
pgdb=> \dt
List of relations
Schema | Name | Type | Owner
--------+--------------------------------------+-------------------+----------
sde | market_grid | table | jzsh
sde | market_grid_no | table | jzsh
sde | metadata | table | jzsh
sde | mvtables_modified | table | jzsh
相关参考:https://www.modb.pro/db/26499
https://sqlora.blog.csdn.net/article/details/124142578
最后修改时间:2022-08-09 12:04:36
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




