从公共表列中引用架构

时间:2019-01-29 16:28:25

标签: postgresql multi-tenant

我有一个多租户Postgresql数据库,每个模式都属于我们的一个客户(租户)。每个租户都有一个名为Messages的表。因此,CustomerX.Messages包含了发送到CustomerX的所有消息。

所有消息都通过通用端点进入,并经过一些处理以确定哪个客户应该接收该消息。因此,消息管道从高层次上看起来像这样:

RAW MESSAGE (public.Messages)
    |
    |
[PROCESSING]
    |
    |
DECRYPTED MESSAGE (some_tenant.Messages)

我想将“经过预处理的”消息放入一个公共表,其中包含对系统的准确,未修改的输入。经过一轮处理后,我想将最终消息放入客户的CustomerX.Messages表中。

我的问题

对我进行建模的最佳方法是什么?我需要确保以下几点:

  1. 公共表中的每条消息在“某种”模式中仅存在一条消息。
  2. 在公共模式中,对于客户模式中的每条消息仅存在一条消息。
  3. 给出一些消息(无论是公开模式还是客户模式),我都可以找到另一个消息。

0 个答案:

没有答案