postgresql功能外键

时间:2017-08-07 13:39:41

标签: postgresql

以下是我想做的事情:

DTO

换句话说,我想基于单向哈希设置另一个表的外键,而不必将该哈希放在原始表中。

这是一项政策/监管要求。我可以在没有FK约束的情况下构建“obfuscated_stuff”表,但我宁愿在那里使用它。

不允许使用FK约束中的函数。我也不能对视图做一个FK(可能有它的功能)。还有其他建议吗?

1 个答案:

答案 0 :(得分:1)

根据目前的documentation,你无法做到这一点。只允许一列或一组列名。

你是对的,你不能在视图上制作FK。对于物化视图也是如此。

您可以在referer列的BEFORE INSERT / UPDATE上编写一个触发器,用于检查引用的索引列。违规时,返回NULL或异常。在引用表的PK上,您甚至可以使用散列值创建索引。