Thread: Can we only add values to enums?
The following documentation comment has been logged on the website: Page: https://www.postgresql.org/docs/9.5/static/sql-altertype.html Description: I need to add a value to an enum, so I found this page, which answered my question. However, I found it quite confusing that it only documents adding a value. I would expect it to also document how to remove a value from an enum? Is this not possible? If not, I consider it a bug. But either way, if it is not possible, you should explicitly document it on this page.
2018-03-12 20:28 GMT-03:00 PG Doc comments form <noreply@postgresql.org>: > I need to add a value to an enum, so I found this page, which answered my > question. However, I found it quite confusing that it only documents adding > a value. I would expect it to also document how to remove a value from an > enum? Is this not possible? If not, I consider it a bug. But either way, if > it is not possible, you should explicitly document it on this page. > If it is not document, this means that it is not supported. It is not a bug. It is by design. Read the discussion about this feature at [1]. Removing a enum value requires a table rewrite. I'm not sure it is worth a note. [1] https://www.postgresql.org/message-id/4C1B95E2.6090508@dunslane.net -- Euler Taveira Timbira - http://www.timbira.com.br/ PostgreSQL: Consultoria, Desenvolvimento, Suporte 24x7 e Treinamento
> On Mar 15, 2018, at 11:33 PM, Euler Taveira <euler@timbira.com.br> wrote: > > 2018-03-12 20:28 GMT-03:00 PG Doc comments form <noreply@postgresql.org>: >> I need to add a value to an enum, so I found this page, which answered my >> question. However, I found it quite confusing that it only documents adding >> a value. I would expect it to also document how to remove a value from an >> enum? Is this not possible? If not, I consider it a bug. But either way, if >> it is not possible, you should explicitly document it on this page. >> > If it is not document, this means that it is not supported. It is not > a bug. It is by design. Read the discussion about this feature at [1]. > Removing a enum value requires a table rewrite. I'm not sure it is > worth a note. I would say that’s the exact reason why it should be documented, so it’s clear that it was by design. We could also redirect people to DOMAINs if they need more flexibility in what is added/removed from an “enum-like” type. Jonathan
"Jonathan S. Katz" <jkatz@postgresql.org> writes: > I would say that’s the exact reason why it should be documented, > so it’s clear that it was by design. Seems reasonable. Maybe something in 8.7.4 enum implementation details? regards, tom lane
On Mar 16, 2018, at 10:48 AM, Tom Lane <tgl@sss.pgh.pa.us> wrote:"Jonathan S. Katz" <jkatz@postgresql.org> writes:I would say that’s the exact reason why it should be documented,
so it’s clear that it was by design.
Seems reasonable. Maybe something in 8.7.4 enum implementation details?
I was going to take a crack at writing it, and noticed it had already
been committed:
Thanks for the quick work!
Jonathan