我有一個使用postgresql模式進行多租戶用途的數據庫。它在名爲customers
的public
模式中有一個表,其中id
和tenant
列。 tenant的值是一個字符串,並且有一個相應的postgresql模式,其中的表格匹配。Postgres在查詢中將列值轉換爲模式前綴
它看起來像這樣:
# 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沒有........ – brad