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]/messages/by-id/4C1B95E2.6090508@dunslane.net.
Removing a enum value requires a table rewrite. I'm not sure it is
worth a note.
[1]: /messages/by-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:
https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=013c0baaddd9df7e1f940184a8ab8e478214b46c <https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=013c0baaddd9df7e1f940184a8ab8e478214b46c>
Thanks for the quick work!
Jonathan