【发布时间】:2017-04-25 22:26:19
【问题描述】:
我有一个将 postgresql 模式用于多租户目的的数据库。它在public 模式中有一个名为customers 的表,其中包含id 和tenant 列。租户的值是一个字符串,并且有一个相应的 postgresql 模式,其中包含匹配的表。
看起来像这样:
# public.customers # first.users # second.users
| id | tenant | | id | name | | id | name |
|----|--------| |----|--------| |----|--------|
| 1 | first | | 1 | bob | | 1 | jen |
| 2 | second | | 2 | jess | | 2 | mike |
我想知道如何通过一个查询来从架构中的表中获取值,只要给定一个客户 ID。
因此,如果我的 customer_id 为 1,我如何在单个查询中 select * from first.users。
我猜这可能是一个用 pgpsql 编写的函数,但我对此没有太多经验。比如:
select * from tenant_table(1, 'users');
?
【问题讨论】:
-
关系之间有FK吗?..
-
没有 FK........ 没有
标签: postgresql