我在 postgres 中有多个结构相同的模式。有没有办法"code-share"查看和查询
I have multiple, structurally identical schemas in postgres. Is there a way to "code-share" views and queries
在我的多租户 postgres 数据库中,我的数据仓库的每个租户都有一个模式,每个租户都有相同的表。
我希望为这些表创建视图和查询。如果我正在编程,我会练习 DRY 并构建我的代码,以便所有这些都由租户参数化。我如何在 postgres 中实现类似的结构?
只需更改 search_path
变量,您就可以 运行 对不同模式执行相同的查询。
set search_path = schema1;
select * from orders; -- resolves to schema1.orders
set search_path = schema2;
select * from orders; -- resolves to schema2.orders
至于视图,您将 create/drop 在所有架构中单独拥有它们,就像您对表所做的那样。
在我的多租户 postgres 数据库中,我的数据仓库的每个租户都有一个模式,每个租户都有相同的表。 我希望为这些表创建视图和查询。如果我正在编程,我会练习 DRY 并构建我的代码,以便所有这些都由租户参数化。我如何在 postgres 中实现类似的结构?
只需更改 search_path
变量,您就可以 运行 对不同模式执行相同的查询。
set search_path = schema1;
select * from orders; -- resolves to schema1.orders
set search_path = schema2;
select * from orders; -- resolves to schema2.orders
至于视图,您将 create/drop 在所有架构中单独拥有它们,就像您对表所做的那样。