Чтобы получить значения перечисления представления PostgreSQL (psql), вы можете использовать следующие методы:
-
Запрос к каталогу pg_enum. Вы можете запросить таблицу каталога
pg_enum, в которой хранятся значения перечисления для каждого типа перечисления. Вот пример запроса:SELECT enumlabel FROM pg_enum WHERE enumtypid = 'your_enum_type'::regtype;Замените
'your_enum_type'фактическим именем вашего типа перечисления. -
Использование функции pg_typeof: вы можете использовать функцию
pg_typeof, чтобы получить тип данных столбца перечисления в представлении, а затем запросить таблицу каталогаpg_enumдля получения значений перечисления. Вот пример:SELECT e.enumlabel FROM pg_enum e JOIN pg_type t ON e.enumtypid = t.oid JOIN pg_attribute a ON t.typrelid = a.attrelid JOIN pg_class c ON a.attrelid = c.oid WHERE c.relname = 'your_view_name' AND a.attname = 'your_enum_column';Замените
'your_view_name'именем вашего представления и'your_enum_column'именем столбца перечисления в представлении. -
Функция диапазона перечисления. Вы можете использовать функцию
enum_rangeдля получения диапазона значений перечисления для определенного типа перечисления. Вот пример:SELECT unnest(enum_range(NULL::your_enum_type)) AS enum_value;Замените
'your_enum_type'именем вашего типа перечисления.
Эти методы помогут вам получить значения перечисления из представления PostgreSQL.