2010-12-29 15 views
0

plperlu関数内からファイルに書き込もうとしていますが、Permission Deniedエラーが表示されます。plperlu関数内からファイルを開くことができません

ERROR: error from Perl function "[$name]": could not open the file: Permission denied at line 46. 

私は、本質的に同じことをするperlスクリプトを使ってファイルに書き込むことができます。私は読み書き権限を持っており、pg_hba.confファイルも正しく設定しました。そして何が問題を引き起こしているのだろうか?

答えて

1

あなたには必要な権限があるかもしれませんが、PostgreSQLサーバはおそらくあなたとして実行されていません。 plperluコードは、サーバーの権限でサーバーのコンテキストで実行されます。すばやく簡単に確認するには、ファイルパスを/tmpに変更して動作するかどうかを確認します。そうであれば、PostgreSQLサーバが書き込みアクセス権を持っている場所にファイルを書き込むだけです。

+0

あなたは、天才です!そのことを忘れる私の愚かな:) –

関連する問題