如何创建一组枚举值的PostgreSQL列?

时间:2012-12-28 01:26:43

标签: postgresql types enums

我喜欢我可以创建new enum types in PostgreSQL。但是,如果我想要一个列值是 set 的枚举值,该怎么办呢?我是否需要使用整数列类型和按位运算符手动实现,或者是否有办法按名称继续使用枚举?

CREATE TYPE foo AS ENUM ('none', 'loud', 'bright', 'cheap')
CREATE TABLE t (
    id serial,
    properties [set of foo?]
)
...
SELECT * FROM t;
1      loud
2      loud, cheap
3      bright
4      none
...

1 个答案:

答案 0 :(得分:1)

您可以使用数组:

CREATE TYPE foo AS ENUM ('none', 'loud', 'bright', 'cheap');
CREATE TABLE t (
    id serial,
    properties foo[]
);