如何更改数据库中表的所有权

时间:2015-08-05 06:12:43

标签: database postgresql

我有一个数据库rndb并创建了一个新表myname_record,它默认使用所有者“postgres”创建。在我的程序中,我应该将所有者更改为“rndb”,但我错过了它。现在我需要在控制台中执行此操作,因此我使用命令登录

psql=>psql -Urndb 

然后使用以下查询更改所有者

rndb=>ALTER TABLE public.myname_record OWNER to rndb;

但是它说你必须是所有者来做这个改变。我可以理解,因为我通过rndb登录它给出了这个错误。但是如何实际改变这一点。

2 个答案:

答案 0 :(得分:28)

选择具有超级用户权限的角色,并尝试更改表的所有者。

ALTER TABLE public.myname_record OWNER TO rndb;

答案 1 :(得分:2)

您必须以当前表所有者身份进行连接,而不是要将表所有权更改为的用户。自那以后postgres

psql -U postgres

sudo -u postgres psql

根据需要。

(此外,超级用户可以随时将表所有权从任何内容更改为任何内容)。