Windows perl/postgresql Web アプリを CentOS に移植しています。
私はpostgresql.conf
これらの行を持っています:
custom_variable_classes = 'plperl' # list of custom variable class names
plperl.use_strict = on
plperl.on_plperlu_init = 'require "/path/to/my/app/dev/area/MyModule.pm";'
Windows 2003 では、これによりuse MyModule;
plperlu 関数を PostgreSQL に入れることができました。.pm ファイルのあるパスに移動し、ACL を変更してユーザーにpostgres
「読み取り」および「読み取りと実行」権限を与えていれば、それらは機能します。セキュリティタブ。
CentOS 6.4 では、少し混乱しています。MyModule を呼び出す plperlu 関数を定義しようとすると、ERROR: Can't locate /path/to/my/app/dev/area/MyModule.pm in @INC
.
MyModule.pm は me:me が所有しており、664 個のパーマがあったため、混乱しています。665 を試しましたが、まだうまくいきません: sudo -u postgres ls -l /path/to/my/app/dev/area/MyModule.pm
reports Permission denied
. 私がUNIXパーミッションを理解していると思った限り、665は「その他」が読み取りと実行のパーミッションを持っていることを意味します。