有没有办法继承不属于当前用户的 table
Is there a way to inherits table which is not owned by current user
我在我的 PostgreSQL 数据库中创建了两个用户。假设 migration
和 dev
.
我创建了一个 table A
用户 migration
。然后我创建 table B
作为用户 dev
继承 table A
,但是失败了。
ERROR: must be owner of relation A
如果我不想更改 table 所有者,是否有其他方法可以使它生效?
一种方法是使用两个用户都是其成员的角色:
CREATE ROLE tab_owner NOLOGIN NOINHERIT;
GRANT tab_owner TO dev, migration;
现在当 migration
创建一个 table 时,它首先运行:
SET ROLE tab_owner;
然后 table 归该角色所有。
用户 dev
在创建 table 的继承子项之前执行相同的操作。
我在我的 PostgreSQL 数据库中创建了两个用户。假设 migration
和 dev
.
我创建了一个 table A
用户 migration
。然后我创建 table B
作为用户 dev
继承 table A
,但是失败了。
ERROR: must be owner of relation A
如果我不想更改 table 所有者,是否有其他方法可以使它生效?
一种方法是使用两个用户都是其成员的角色:
CREATE ROLE tab_owner NOLOGIN NOINHERIT;
GRANT tab_owner TO dev, migration;
现在当 migration
创建一个 table 时,它首先运行:
SET ROLE tab_owner;
然后 table 归该角色所有。
用户 dev
在创建 table 的继承子项之前执行相同的操作。