Есть ли простой способ получить список всех UDF, доступных в Redshift? Более того, я хотел бы найти UDF с параметрами и искать UDF по имени.
Как получить список UDF в Redshift?
Ответ 1
Вы можете запросить таблицу pg_proc
чтобы получить все доступные UDF.
Фильтр по имени
Вы можете фильтровать по имени, используя столбец с proname
:
SELECT * FROM pg_proc WHERE proname ILIKE '%<name_here>%';
Фильтр по типу параметра
Вы можете фильтровать по типам параметров, используя столбец proargtypes
:
SELECT * FROM pg_proc WHERE proargtypes = 1043;
Здесь 1043
- это varchar
что можно увидеть, pg_type
таблицу pg_type
:
SELECT * FROM pg_type WHERE typname ILIKE '%char%';
Фильтровать по имени параметра
Вы также можете фильтровать по имени параметра, используя столбец proargnames
:
SELECT * FROM pg_proc WHERE proargnames = ARRAY['foo'];
Рекомендации:
http://docs.aws.amazon.com/redshift/latest/dg/c_join_PG.html
http://www.postgresql.org/docs/8.0/static/catalog-pg-proc.html