Zmiana nazwy wartości wyliczenia jest obsługiwana tylko od Postgresa 10.
Zgodnie z dokumentacją w instrukcji musisz użyć rename VALUE
, a nie rename attribute
zmienić nazwę wartości wyliczenia.
Wartości wyliczenia są również stałymi ciągami, a nie identyfikatorami. Dlatego należy je ująć w apostrofy, a nie cudzysłowy:
ALTER TYPE public.enum_subscription_sub_frequency RENAME VALUE 'BI-WEEKLY' TO 'BI_WEEKLY';
Jeśli zastanawiasz się, dlaczego pojawia się błąd „typ ... nie istnieje” o niewłaściwej składni:
Gdy używasz opcji RENAME ATTRIBUTE
oznacza to, że należy zmienić „zwykły” typ obiektu, więc Postgres szuka „prawdziwego” typu obiektu.
Ale „typ wyliczenia” nie jest „typem obiektu” i dlatego Postgres skarży się na „typ xyz nie istnieje”, a nie na błąd składni.