Se você quiser uma matriz:
SELECT enum_range(NULL::myenum)
Se você quiser um registro separado para cada item na enumeração:
SELECT unnest(enum_range(NULL::myenum))
Informações Adicionais
Essa solução funciona conforme o esperado, mesmo que seu enum não esteja no esquema padrão. Por exemplo, substitua
myenum
com myschema.myenum
. O tipo de dados dos registros retornados na consulta acima será
myenum
. Dependendo do que você está fazendo, pode ser necessário converter para texto. por exemplo. SELECT unnest(enum_range(NULL::myenum))::text
Se você deseja especificar o nome da coluna, pode anexar
AS my_col_name
. Crédito a Justin Ohms por apontar algumas dicas adicionais, que incorporei à minha resposta.