Se vuoi un array:
SELECT enum_range(NULL::myenum)
Se vuoi un record separato per ogni elemento nell'enumerazione:
SELECT unnest(enum_range(NULL::myenum))
Informazioni aggiuntive
Questa soluzione funziona come previsto anche se l'enumerazione non è nello schema predefinito. Ad esempio, sostituisci myenum
con myschema.myenum
.
Il tipo di dati dei record restituiti nella query precedente sarà myenum
. A seconda di ciò che stai facendo, potrebbe essere necessario trasmettere al testo. es.
SELECT unnest(enum_range(NULL::myenum))::text
Se vuoi specificare il nome della colonna, puoi aggiungere AS my_col_name
.
Ringraziamo Justin Ohms per aver indicato alcuni suggerimenti aggiuntivi, che ho incorporato nella mia risposta.