Mengganti nama nilai enum hanya didukung dimulai dengan Postgres 10.
Seperti yang didokumentasikan dalam manual anda harus menggunakan rename VALUE
, bukan rename attribute
untuk mengganti nama nilai enum.
Nilai enum juga merupakan konstanta string, bukan pengidentifikasi. Oleh karena itu Anda perlu menyertakannya dalam tanda kutip tunggal, bukan tanda kutip ganda:
ALTER TYPE public.enum_subscription_sub_frequency RENAME VALUE 'BI-WEEKLY' TO 'BI_WEEKLY';
Jika Anda bertanya-tanya mengapa Anda mendapatkan kesalahan "ketik ... tidak ada" dengan sintaks yang salah:
Saat Anda menggunakan opsi RENAME ATTRIBUTE
ini menunjukkan bahwa tipe objek "biasa" harus diubah, jadi Postgres mencari tipe objek "nyata".
Tetapi "tipe enum" bukan "tipe objek" dan karenanya Postgres mengeluh tentang "tipe xyz tidak ada", daripada kesalahan sintaks.