Omdøbning af en værdi af en enum understøttes kun fra Postgres 10.
Som dokumenteret i manualen du skal bruge rename VALUE
, ikke rename attribute
for at omdøbe værdien af en enum.
Enums-værdier er også strengkonstanter, ikke identifikatorer. Derfor skal du sætte dem i enkelte anførselstegn, ikke dobbelte anførselstegn:
ALTER TYPE public.enum_subscription_sub_frequency RENAME VALUE 'BI-WEEKLY' TO 'BI_WEEKLY';
Hvis du undrer dig over, hvorfor du får en "type ... findes ikke"-fejl med den forkerte syntaks:
Når du bruger muligheden RENAME ATTRIBUTE
dette indikerer, at en "almindelig" objekttype skal ændres, så Postgres leder efter en "rigtig" objekttype.
Men en "enum type" er ikke en "objekttype", og derfor klager Postgres over "type xyz eksisterer ikke", snarere end en syntaksfejl.