Si vous voulez un tableau :
SELECT enum_range(NULL::myenum)
Si vous souhaitez un enregistrement séparé pour chaque élément de l'énumération :
SELECT unnest(enum_range(NULL::myenum))
Informations supplémentaires
Cette solution fonctionne comme prévu même si votre énumération n'est pas dans le schéma par défaut. Par exemple, remplacez myenum
avec myschema.myenum
.
Le type de données des enregistrements renvoyés dans la requête ci-dessus sera myenum
. Selon ce que vous faites, vous devrez peut-être convertir en texte. ex.
SELECT unnest(enum_range(NULL::myenum))::text
Si vous souhaitez spécifier le nom de la colonne, vous pouvez ajouter AS my_col_name
.
Merci à Justin Ohms d'avoir souligné quelques conseils supplémentaires, que j'ai incorporés dans ma réponse.