PL/Python で記述された PostgreSQL 関数から外部の Python スクリプト ファイルを呼び出そうとしています。
私の直感は、私を次のようなコードに駆り立てました:
CREATE OR REPLACE FUNCTION foo() Returns boolean AS
$$
import subprocess
cmd = "C:\\Python27\\python.exe"
file_to_execute = "C:\\Users\\manager_gui.py"
subprocess.check_call([cmd, file_to_execute])
$$
LANGUAGE 'plpython3u' VOLATILE;
しかし、実行するSELECT foo()
と、次のエラー メッセージが返されます。
"Command '['C:\\Python27\\python.exe', 'C:\\Users\\manager_gui.py']' returned non-zero exit status 2"
私はそれをグーグルで検索しましたが、明らかに実行許可の問題を扱っています。しかし、私は本当に確信が持てません...
それで、私がやりたいことが本当に可能かどうか、そして良い方法を使用するかどうかを尋ねさせてください。
答えが「はい」の場合、PosgreSQL ユーザーとスクリプト ファイルの所有者の間で発生するこの実行権限の問題をどのように管理すればよいでしょうか?
前もって感謝します、
マーティン