有没有办法继承当前用户不拥有的表

时间:2019-03-14 04:42:28

标签: postgresql database-permissions

我在PostgreSQL数据库中创建了两个用户。假设migrationdev

我与用户A创建了一个表migration。然后,我创建表B,该表以用户A的身份继承表dev,但是失败。

ERROR:  must be owner of relation A

如果我不想更改表所有者,还有另一种方法可以使它起作用吗?

1 个答案:

答案 0 :(得分:1)

一种方法是使用两个用户都是成员的角色:

CREATE ROLE tab_owner NOLOGIN NOINHERIT;

GRANT tab_owner TO dev, migration;

现在migration创建表时,它首先运行:

SET ROLE tab_owner;

然后表归角色所有。

用户dev在创建表的继承子项之前执行相同的操作。