From: Tom Lane Date: Fri, 16 Mar 2018 17:44:34 +0000 (-0400) Subject: Doc: explicitly point out that enum values can't be dropped. X-Git-Tag: REL9_5_13~61 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=f4512fa5b3af82ce07ebee78f80b93aa8d654e3a;p=postgresql Doc: explicitly point out that enum values can't be dropped. This was not stated in so many words anywhere. Document it to make clear that it's a design limitation and not just an oversight or documentation omission. Discussion: https://postgr.es/m/152089733343.1222.6927268289645380498@wrigleys.postgresql.org --- diff --git a/doc/src/sgml/datatype.sgml b/doc/src/sgml/datatype.sgml index f7d784b288..2ecd8040c3 100644 --- a/doc/src/sgml/datatype.sgml +++ b/doc/src/sgml/datatype.sgml @@ -3053,6 +3053,20 @@ SELECT person.name, holidays.num_weeks FROM person, holidays Implementation Details + + Enum labels are case sensitive, so + 'happy' is not the same as 'HAPPY'. + White space in the labels is significant too. + + + + Although enum types are primarily intended for static sets of values, + there is support for adding new values to an existing enum type, and for + renaming values (see ). Existing values + cannot be removed from an enum type, nor can the sort ordering of such + values be changed, short of dropping and re-creating the enum type. + + An enum value occupies four bytes on disk. The length of an enum value's textual label is limited by the NAMEDATALEN @@ -3060,12 +3074,6 @@ SELECT person.name, holidays.num_weeks FROM person, holidays builds this means at most 63 bytes. - - Enum labels are case sensitive, so - 'happy' is not the same as 'HAPPY'. - White space in the labels is significant too. - - The translations from internal enum values to textual labels are kept in the system catalog