A renomeação de um valor de um enum só é suportada a partir do Postgres 10.
Conforme documentado no manual a> você tem que usar
rename VALUE
, não rename attribute
para renomear o valor de um enum. Os valores de enumeração também são constantes de string, não identificadores. Portanto, você precisa colocá-los entre aspas simples, não aspas duplas:
ALTER TYPE public.enum_subscription_sub_frequency RENAME VALUE 'BI-WEEKLY' TO 'BI_WEEKLY';
Se você se pergunta por que recebe um erro "tipo ... não existe" com a sintaxe errada:
Quando você usa a opção
RENAME ATTRIBUTE
isso indica que um tipo de objeto "regular" deve ser alterado, então o Postgres procura por um tipo de objeto "real". Mas um "tipo enum" não é um "tipo de objeto" e, portanto, o Postgres reclama que "o tipo xyz não existe", em vez de um erro de sintaxe.