我想在两个或多个 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、自定义实用程序函数要笨重得多(执行基于 SQL 的 PL/Python 调用)。
是否可以在 Postgres 上通过 PL/Python 可重用的纯 Python 函数创建和公开?