Si quieres una matriz:
SELECT enum_range(NULL::myenum)
Si desea un registro separado para cada elemento de la enumeración:
SELECT unnest(enum_range(NULL::myenum))
Información adicional
Esta solución funciona como se esperaba incluso si su enumeración no está en el esquema predeterminado. Por ejemplo, reemplace myenum
con myschema.myenum
.
El tipo de datos de los registros devueltos en la consulta anterior será myenum
. Dependiendo de lo que esté haciendo, es posible que deba enviar a texto. por ejemplo
SELECT unnest(enum_range(NULL::myenum))::text
Si desea especificar el nombre de la columna, puede agregar AS my_col_name
.
Gracias a Justin Ohms por señalar algunos consejos adicionales, que incorporé en mi respuesta.