Jika Anda menginginkan larik:
SELECT enum_range(NULL::myenum)
Jika Anda ingin catatan terpisah untuk setiap item dalam enum:
SELECT unnest(enum_range(NULL::myenum))
Informasi Tambahan
Solusi ini berfungsi seperti yang diharapkan bahkan jika enum Anda tidak ada dalam skema default. Misalnya, ganti myenum
dengan myschema.myenum
.
Tipe data dari catatan yang dikembalikan dalam kueri di atas adalah myenum
. Bergantung pada apa yang Anda lakukan, Anda mungkin perlu mentransmisikan ke teks. misalnya
SELECT unnest(enum_range(NULL::myenum))::text
Jika Anda ingin menentukan nama kolom, Anda dapat menambahkan AS my_col_name
.
Penghargaan untuk Justin Ohms karena menunjukkan beberapa kiat tambahan, yang saya masukkan ke dalam jawaban saya.