先月、PostgreSQLアンカンファレンスで「PL/Pythonで独自の集約関数を作ってみる」という発表をしました。 本エントリでは、その詳細について紹介させていただきます。 ■なぜPL/Pythonで集約関数なのか? 既に広く知られている通り、PostgreSQLではさまざまなプログラミング言語でプロシージャ/ファンクションをユーザが定義することができます。 では、なぜPL/Pythonで集約関数なのでしょうか? まず1つ目の理由としては、Pythonとデータ処理が非常に相性が良い、ということが挙げられます。古くから統計解析でRが使われてエコシステムが発展してきたのと同じように、最近ではPythonを取り巻くデータ分析に関するエコシステムが大きくなり、データ分析に関するさまざまな処理をPythonで行えるようになってきています。 2つ目の理由としては、データ処理と集約関数というのは切っ