SQL query to get all values a enum can have
enums, postgresql
Solution
If you want an array:
SELECT enum_range(NULL::myenum)
If you want a separate record for each item in the enum:
SELECT unnest(enum_range(NULL::myenum))
Additional Information
This solution works as expected even if your enum is not in the default schema. For example, replace `myenum` with `myschema.myenum`.
The data type of the returned records in the above query will be `myenum`. Depending on what you are doing, you may need to cast to text. e.g.
SELECT unnest(enum_range(NULL::myenum))::text
If you want to specify the column name, you can append `AS my_col_name`.
Credit to Justin Ohms for pointing out some additional tips, which I incorporated into my answer.
Problem
Postgresql got enum support some time ago. ``` CREATE TYPE myenum AS ENUM ( 'value1', 'value2', ); ``` How do I get all values specified in the enum with a query?