使用自定义模板创建新数据库并更改表的所有者。

3

我有一个自定义模板数据库“template_custom”,其中包含一些表,由角色“suser”拥有。

现在我需要为角色“tenant1”创建一个新的数据库:

CREATE DATABASE db_tenant1 TEMPLATE template_custom OWNER tenant1;

数据库template_custom中的表(和序列)仍由suser拥有。所以:

\c db_tenant1 suser
REASSIGN OWNED BY suser TO tenant1;
现在,针对数据库 db_tenant1 一切正常。然而,模板数据库 "template_custom" 现在归属于 tenant1,并且所有表也是如此。这当然不是我想要的(也不是我期望的)。那么做这件事情的正确方法是什么?(使用 PostgreSQL 11.9)
1个回答

阿里云服务器只需要99元/年,新老用户同享,点击查看详情
0

这很不幸,但无法避免。

我会通过更改template_custom表的所有者来解决问题,例如将其更改为另一个用户suser2。然后 REASSIGNED OWNED 不会影响模板数据库,模板数据库仍由 suser 拥有。


这确实很不幸。使得使用模板数据库更加繁琐。 - rmuller

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,