2017-01-24 49 views
2

是否可以從PL/Python函數調用plpgsql function(或任何PostgreSQL function)?在PostgreSQL中從PL/Python函數調用plpgsql函數

所以,這樣的事情:

CREATE FUNCTION somefunc() RETURNS void AS $$ 
DECLARE 
    ... 
BEGIN 
    ... 
END; 
$$ LANGUAGE plpgsql; 

然後在這裏使用它

CREATE FUNCTION pythonFunc() RETURNS void AS $$ 
    ... 
    someFunc() #postgreSQL function 
    ... 
$$ LANGUAGE plpythonu; 

回答

3
create function plpython_function() 
returns void as $$ 

    plpy.execute('select plpgsql_function()') 

$$ language plpythonu; 

PL/Python Database Access

+0

你將如何傳遞參數從plpython_function到plpgsql_function?這個簡短的答案是「import plpy and use plpy.quote_literal」。我的回答是,「這一切都很好,但8.2(實際上,Greenplum)沒有plpy.quote_literal,實際上是我想調用的quote_literal!」 Bootstrap問題。 – PhilHibbs