PostgreSQL如何将约束放在类型数组的列上

时间:2017-12-06 09:43:10

标签: arrays postgresql constraints

我在Postgresql中有两个表。

table_1包含来源

Sources
A_src 
B_src
C_src

table_2如下

Result;Result_sources
2.3; {A_src;C_src}
43; {B_src;C_src}
11; {A_src;B_src;C_src}

如何在table_2.Result_sources上编写约束,使其数组条目仅来自table_1.Sources

1 个答案:

答案 0 :(得分:1)

您无法做到这一点,并且触发器无法替代,因为除非您使用SERIALIZABLE交易,否则无法避免竞争条件。

这个问题需要规范化:创建一个表格,实现table_1table_2之间的m-to-n关系。