我正在我们的 postgres 数据库(9.6)环境中进行审核和修改用户名。
我可以通过 ALTER USER name RENAME TO new_name 命令将用户修改为新用户名,但是我还想修改用户对新重命名用户可能拥有的任何对象的所有权。
如果我重命名用户,我将无法更改所有权,因为旧用户名将不再存在。
有办法解决这个问题吗?还是更容易创建一个全新的用户名并将所有权移至新用户名,然后删除旧用户名。
谢谢
我正在我们的 postgres 数据库(9.6)环境中进行审核和修改用户名。
我可以通过 ALTER USER name RENAME TO new_name 命令将用户修改为新用户名,但是我还想修改用户对新重命名用户可能拥有的任何对象的所有权。
如果我重命名用户,我将无法更改所有权,因为旧用户名将不再存在。
有办法解决这个问题吗?还是更容易创建一个全新的用户名并将所有权移至新用户名,然后删除旧用户名。
谢谢
用户名只是系统列中的一个字符串属性,真正的身份是用户的对象ID号,不会改变。
因此,如果用户
x
拥有一张表,而您将其重命名x
为y
,那么它仍然是同一个用户,并且仍将拥有该表。更改名称后,该表将归y
.