2 つ以上の PL/Python 関数間でいくつかの単純で純粋な Python 関数を宣言して共有したいと考えています。Postgres 9.3 を使用しています。
たとえば、私は持っています:
CREATE OR REPLACE FUNCTION get_mod(modifier varchar)
RETURNS varchar
AS $$
def is_float(val):
try:
if val:
float(val)
return True
else:
return False
except ValueError:
return False
if modifier is None:
return "NOMOD"
if is_float(modifier):
return str(float(modifier)*1)
return modifier
$$ LANGUAGE plpythonu;
is_float
関数を他の PL/Python 関数で使用したいと考えています。呼び出し可能な PL/Python 関数として作成できることは理解していますが、純粋な Python のカスタム ユーティリティ関数を直接呼び出すよりも (PL/Python への SQL ベースの呼び出しを実行するために) はるかに扱いにくいことがわかります。
PostgresでPL/Pythonの再利用可能な純粋なPython関数を作成して公開することは可能ですか?