Re: Alter or rename enum value
Matthias Kurz <m.kurz@irregular.at>
From: Matthias Kurz <m.kurz@irregular.at>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Jim Nasby <Jim.Nasby@bluetreble.com>, pgsql-hackers@postgresql.org
Date: 2016-03-25T08:13:50Z
Lists: pgsql-hackers
> > It's conceivable that we could do something like adding an "isdead" > column to pg_enum and making enum_in reject new values that're marked > isdead. But I can't see that we'd ever be able to support true > removal of an enum value at reasonable cost. And I'm not really sure > where the use-case argument is for working hard on it. > Thanks for all your explanation! We work a lot with enums and sometimes there are cases where we would like to be able to add a new value or rename an existing value (in a new transaction) - dropping isn't needed that much, but would be a bonus. Right now you have to know which enum values you will use at the time creating a table - but as many things change also requirements for a database/schema/table/enum definition change. At the moment we have to use ugly hacks to make renaming/dropping work. I didn't know implementing these features would be that complex. As I am not familiar with the code and don't have time to dig into it I won't be able to provide a patch myself unfortunately. Hopefully at the commitfest at least the transaction limitation will/could be tackled - that would help us a lot already. Thanks for your time!
Commits
-
Relax transactional restrictions on ALTER TYPE ... ADD VALUE (redux).
- 212fab9926b2 12.0 landed
-
Partially restore comments discussing enum renumbering hazards.
- c9e2e2db5c20 9.4.0 cited
-
Allow adding values to an enum type created in the current transaction.
- 7b90469b7176 9.3.0 cited