Nếu bạn muốn một mảng:
SELECT enum_range(NULL::myenum)
Nếu bạn muốn có một bản ghi riêng cho từng mục trong enum:
SELECT unnest(enum_range(NULL::myenum))
Thông tin bổ sung
Giải pháp này hoạt động như mong đợi ngay cả khi enum của bạn không có trong lược đồ mặc định. Ví dụ:thay thế myenum
với myschema.myenum
.
Kiểu dữ liệu của các bản ghi được trả về trong truy vấn trên sẽ là myenum
. Tùy thuộc vào những gì bạn đang làm, bạn có thể cần truyền sang văn bản. ví dụ:
SELECT unnest(enum_range(NULL::myenum))::text
Nếu bạn muốn chỉ định tên cột, bạn có thể thêm AS my_col_name
.
Tín dụng cho Justin Ohms vì đã chỉ ra một số mẹo bổ sung mà tôi đã kết hợp vào câu trả lời của mình.