na grupie pgsql-patches trwa dyskusja nad nową wersją patcha dodającego enumy.
jest kilka argumentów przeciwko enumom jako takim, kilka przeciwko temu konkretnie patchowi i całkiem sporo za tym aby enumy tym patchem włączyć do postgresa!.
wszystko wskazuje na to, że w nowym postgresie (8.3?) będzie można:
CREATE TYPE mood AS ENUM ('sad', 'ok', 'happy');
CREATE TABLE person (
name text,
current_mood mood
);
INSERT INTO person VALUES ('Moe', 'happy');
SELECT * FROM person WHERE current_mood = 'happy';
name | current_mood
------+--------------
Moe | happy
(1 row)
fajnie 🙂
Tylko czy to rzeczywiście się przydaje? Ja bym raczej obstawiał robienie osobnej tabeli w takim przypadku, bo później o wiele łatwiej można to rozbudować.
oczywiście, że enum jest potrzebny! jak inaczej zrobić enum(‘tak’, ‘nie’) ??? 😉