Postgresql 中,Table的生成者自动成为 此Table的所有者。但是也可以转移所有者权。
不过这要分成两种情况:
如果是数据库超级用户,比如用户postgre,可以直接转:
alter table testtab owner to gao;
如果不是数据库超级用户,比如普通用户 gao 把Table testtab的所有权转给 普通用户 jian:
直接转是会失败的(尽管你是所有者):
alter table testtab owner to jian;
错误信息:not member of role jian;
这样转才可以成功:
grant jian to gao;
\du 来看一下,发现 用户 gao成了 用户jian 的成员。
此时,再执行
alter table testtab owner to jian; 可以成功。
本文转自健哥的数据花园博客园博客,原文链接:http://www.cnblogs.com/gaojian/archive/2012/07/06/2579288.html,如需转载请自行联系原作者