ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
# REASSIGN OWNED ## Name REASSIGN OWNED -- 修改数据库对象的属主 ## Synopsis ``` REASSIGN OWNED BY _old_role_ [, ...] TO _new_role_ ``` ## 描述 `REASSIGN OWNED`要求系统将所有 old_roles 拥有的数据库对象的属主更改为 new_role。 ## 参数 `_old_role_` 旧属主的角色名。当前数据库和所有共享对象(数据库,表空间) 中该角色所拥有的所有对象的属主将改为`_new_role_`。 `_new_role_` 将要成为这些对象属主的新角色的名字 ## 注意 `REASSIGN OWNED`常用于在删除角色之前的准备工作。因为`REASSIGN OWNED` 不影响其他数据库中的对象,所以必须在即将删除的角色拥有对象的每一个数据库中执行该命令。 `REASSIGN OWNED`要求原角色和目标角色上的权限。 [DROP OWNED](#calibre_link-615)可以用来删除角色所拥有的所有对象。 还请注意`DROP OWNED`只需要原角色的权限。 `REASSIGN OWNED`并不影响 old_roles 在不被其拥有的对象上的权限。 使用`DROP OWNED`来删除这些权限。 ## 兼容性 `REASSIGN OWNED`语句是一个PostgreSQL扩展。 ## 又见 [DROP OWNED](#calibre_link-615), [DROP ROLE](#calibre_link-18), [ALTER DATABASE](#calibre_link-1431)