错误:必须是角色""PostgreSQL的成员

Daw*_*ear 5 postgresql


我需要更改表的所有者.
我创建了表格:

CREATE TABLE example (some columns);
Run Code Online (Sandbox Code Playgroud)

然后我试图改变主人:

ALTER TABLE database.expample OWNER TO "secondary";
Run Code Online (Sandbox Code Playgroud)

他们我得到了这个错误:

ERROR: must be member of role "secondary"
Run Code Online (Sandbox Code Playgroud)

有谁能够帮我?
提前致谢.

小智 6

从 Postgresql 文档中看到这一点:

http://www.postgresql.org/docs/current/static/sql-altertable.html

您必须拥有该表才能使用 ALTER TABLE。要更改表的架构,您还必须对新架构具有 CREATE 权限。要更改所有者,您还必须是新拥有角色的直接或间接成员,并且该角色必须对表的架构具有 CREATE 权限。(这些限制强制改变所有者不会做任何你不能通过删除和重新创建表来做的事情。但是,超级用户无论如何都可以改变任何表的所有权。)

  • 简短版本:您不能“赠送”表,您必须是目标角色的成员。 (3认同)