0
postgres(和greenplum)中的用戶定義函數是否獨立運行? 當我用plpythonu用戶定義的函數進行查詢時,會打開多少個執行環境? 運行查詢時是否有共享的Python解釋器狀態?查詢中打開了多少個plpython執行環境?
說我有一個plpython用戶定義的函數:
CREATE OR REPLACE FUNCTION file2text(path string) RETURNS text AS $$
f = open(path, 'r')
return f.read()
f.close()
$$ LANGUAGE plpythonu;
對於表create table files (name varchar, path varchar)
並在該表中查詢,如下所示:
SELECT f.name
FROM files f
WHERE character_length(file2text(f.path)) > 4096
ORDER BY f.name
是一個新的Python環境催生的每個執行我的plpython函數? 在MPP數據庫中,我是否可以假設postgres的行爲在每個細分受衆羣之間沒有共享狀態的情況下是重複的?