尝试将Array列添加到现有的Postgres表中

时间:2014-11-14 15:08:31

标签: postgresql

为什么这个命令不起作用?

ALTER TABLE candidate ADD COLUMN blocked_companies ARRAY;

1 个答案:

答案 0 :(得分:13)

您需要指定数据类型。如果需要字符串数组,请使用text:

ALTER TABLE candidate ADD COLUMN blocked_companies text[];

如果你想要一个数字数组,请使用int:

ALTER TABLE candidate ADD COLUMN blocked_companies int[];

更多细节可在手册中找到:
http://www.postgresql.org/docs/current/static/arrays.html#ARRAYS-DECLARATION

但在大多数情况下使用数组并不是一个好主意(尽管Postgres' awesome array支持)。正确规范化的模型可能更适合您。