Postgres创建一个带有外键数组的表

时间:2015-12-08 13:06:38

标签: sql postgresql foreign-keys

我正在创建一个名为“routes”的表。我希望它能够包含一个航班列表。航班的详细信息在航班表中。我希望“航班”成为航班表中的一系列外键ID。所以,我有这个代码:

CREATE TABLE routes (
id SERIAL PRIMARY KEY,
flight integer[] ELEMENT REFERENCES flights,
user CHARACTER VARYING(50)
);

但是,它给出了错误:

ERROR:  syntax error at or near "ELEMENT"
LINE 2:     id SERIAL PRIMARY KEY, flight integer[] ELEMENT REFERENC...

我正在使用psql(9.3.10)

我用过这个: http://blog.2ndquadrant.com/postgresql-9-3-development-array-element-foreign-keys/作为参考,但是当我复制该语法时,会出现此错误。

这是我用作参考的语法:

CREATE TABLE races (
   race_id integer PRIMARY KEY,
   title text,
   race_day DATE,
   ...
   practice1_positions integer[] ELEMENT REFERENCES drivers,
   practice2_positions integer[] ELEMENT REFERENCES drivers,
   practice3_positions integer[] ELEMENT REFERENCES drivers,
   qualifying_positions integer[] ELEMENT REFERENCES drivers,
   final_positions integer[] ELEMENT REFERENCES drivers
);

1 个答案:

答案 0 :(得分:6)

您链接到的博客清楚地表明它只是一个针对9.3提出的补丁。它没有进入9.3和9.4 您可以comb the mailing list尝试自行修补安装,也可以只更改架构。

如果您想了解该功能发生的详细信息,您可能应该邮寄作者。