web-dev-qa-db-ja.com

RedshiftでUDFのリストを取得するにはどうすればよいですか?

Redshiftで利用可能なすべてのUDFのリストを取得する簡単な方法はありますか?さらに、パラメータタイプのUDFを検索し、名前でUDFを検索したいと思います。

14
volodymyr

pg_procテーブルにクエリを実行して、使用可能なすべてのUDFを取得できます。

名前でフィルタリング

proname列を使用して、名前でフィルタリングできます。

SELECT * FROM pg_proc WHERE proname ILIKE '%<name_here>%';

パラメータタイプでフィルタリング

proargtypes列を使用して、パラメータータイプでフィルター処理できます。

SELECT * FROM pg_proc WHERE proargtypes = 1043;

ここで、1043テーブルをクエリするとわかるようにpg_typevarcharです。

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

17
DotThoughts