All,
In the past I have used foreign keys to lookup tables for small lists of values that I now think ENUM could do the job of. I was hoping that by using ENUM, I would avoid having to do joins in my queries, and that I'd be making the data more robust and faster.
I used to have a table for account_status:
A | Active
B | Billing Failed
C | Closed
D | Deactivated
account.acct_type CHAR references account_type.acct_type CHAR
But, now I've converted that to an ENUM:
ACTIVE
BILLING_FAILED
CLOSED
DEACTIVATED
account.acct_type ENUM account_type
The problem is that once I create a column in my account table that uses this 'account_type' datatype, I can't seem to change or add to it any more. I want to add a new value or edit/delete an existing one.
How do you make changes to an ENUM datatype that is already in use?
I agree with others that ENUMs stop looking pretty when you need to modify them...
Here's a thread from recent past where this exact problem was discussed... maybe it'll interest you...
http://archives.postgresql.org/pgsql-general/2007-12/msg01363.php
Best regards,
--
gurjeet[.singh]@EnterpriseDB.com
singh.gurjeet@{ gmail | hotmail | indiatimes | yahoo }.com
EnterpriseDB http://www.enterprisedb.com
Mail sent from my BlackLaptop device