接続されたPostgreSQLではMYDBすることができます:PythonのにオーバーPythonは、ファイルを開くことができますPL/Pythonはない
mydb=# CREATE FUNCTION file_test() RETURNS text AS $$
if open('mydir/myfile.xsl'): return 'success'
$$ LANGUAGE plpythonu;
CREATE FUNCTION
mydb=# SELECT file_test();
ERROR: IOError: [Errno 2] No such file or directory: 'mydir/myfile.xsl'
CONTEXT: Traceback (most recent call last):
PL/Python function "file_test", line 2, in <module>
if open('mydir/myfile.xsl'): return 'success'
PL/Python function "file_test"
を:
>>> if open('mydir/myfile.xsl'): print 'success'
...
success
>>>
絶対パスは、PL/Pythonのを助けていないようでした。私がしたいのは、Postgresのquery_to_xml()を使って、XSLT変換を返します。しかしそれを行うには、xslファイルを読む必要があります...
絶対パスを使用するとどうなりますか? – Gerrat
それは私の最初の考えでした。それはうまくいかなかった。 (上記のように編集してください) –
ファイルへのパスが正しくないか、PostgreSQLプロセスにこのファイルを読み取る権限がない可能性があります。 – Gerrat