我在我的 PostgreSQL 数据库中创建了两个用户。比方说 migration
和 dev
。
我用用户 migration
创建了一个表 A
。然后我创建表 B
作为用户 dev
继承表 A
,但是失败了。
ERROR: must be owner of relation A
如果我不想更改表所有者,是否有其他方法可以让它工作?
最佳答案
一种方法是使用两个用户都是其成员的角色:
CREATE ROLE tab_owner NOLOGIN NOINHERIT;
GRANT tab_owner TO dev, migration;
现在当migration
创建一个表时,它首先运行:
SET ROLE tab_owner;
然后该表由该角色拥有。
用户 dev
在创建表的继承子项之前执行相同的操作。
关于postgresql - 有没有办法继承当前用户不拥有的表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55155080/