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.