आप CREATE TYPE
का इस्तेमाल कर सकते हैं
अपना एनम घोषित करने के लिए:
CREATE TYPE tfoo AS ENUM('foo','bar','dummy');
और एक सरणी का उपयोग करें मूल्यों को संग्रहीत करने के लिए:
CREATE TABLE foo (foo_id serial, foo_enum tfoo[]);
डालने के लिए:
INSERT INTO foo(foo_enum) VALUES('{foo,bar}');
या
INSERT INTO foo(foo_enum) VALUES(ARRAY['foo','bar']::tfoo[]);
एक अन्य दृष्टिकोण एनम और फू टेबल के लिए एक विदेशी कुंजी को स्टोर करने के लिए एक और टेबल का उपयोग करना होगा। उदाहरण:
CREATE TABLE foo (foo_id serial primary key);
CREATE TABLE foo_enums (foo_id integer references foo(foo_id), value tfoo);
और वे कई मानों को foo_enums
. में सम्मिलित करते हैं :
INSERT INTO foo(foo_id) VALUES(nextval('foo_id_seq'));
INSERT INTO foo_enums(foo_id, value) VALUES
(currval('foo_id_seq'), 'foo'),
(currval('foo_id_seq'), 'bar');