とりあえずさわってみたので,まとめます.
UDFは便利そうなので,これから積極的に活用していきたいと思います.
UDFの作成
記法などの詳細は公式サイトを参照してください.
この記事で紹介されている,URLのホスト名を取得する関数 f_hostname を突っ込んでみます.
CREATE FUNCTION f_hostname(url VARCHAR)
RETURNS varchar
IMMUTABLE AS $$
import urlparse
return urlparse.urlparse(url).hostname
$$ LANGUAGE plpythonu;
※ UDF の関数名は f_ から始まる名前が推奨されています.
関数実行
hoge=> SELECT f_hostname('http://qiita.com/yokotty/items/7e95c8af132f3adbbb80');
f_hostname
------------
qiita.com
(1 row)
作成したUDF一覧の参照
SELECT proname FROM pg_proc WHERE proname LIKE 'f$_%' ESCAPE '$';
で参照することができます.
UDFの削除
DROP FUNCTION f_hostname(varchar);
引数の型まで指定する必要があります.
参照URL
-
[【AWS発表】Amazon RedshiftにUDF(ユーザ定義関数)が追加されました - Amazon Web Services ブログ]
(http://aws.typepad.com/aws_japan/2015/09/amazon-redshift-udf.html)