問題タブ [plperlu]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
perl - plperlu の外部 .pm ファイルへの unix ユーザー 'postgres' アクセスを許可する
Windows perl/postgresql Web アプリを CentOS に移植しています。
私はpostgresql.conf
これらの行を持っています:
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は「その他」が読み取りと実行のパーミッションを持っていることを意味します。
postgresql - PostgreSQL plperlu コンパイル エラー: エラー: 関数のコンパイルからコード参照を取得できませんでした
以下のコマンドを使用して、Postgres 9.3 (OS - UBUNTU 12.04.5) で言語 plperlu を作成しました。
言語の作成 plperlu;
postgres関数からシェルスクリプトを呼び出したかったので、plperluを使って以下の関数を書きました。
以下は機能です
コンパイル中にエラーが発生します
エラー: 関数 "tet_func" のコンパイルから CODE 参照を取得できませんでした コンテキスト: PL/Perl 関数 "tet_func" のコンパイル ********** エラー **********
エラー: 関数 "tet_func" のコンパイルから CODE 参照を取得できませんでした SQL 状態: XX000 コンテキスト: PL/Perl 関数 "tet_func" のコンパイル
このエラーが発生する理由を誰か知っていますか? または、postgres関数からシェルスクリプトを呼び出す他の解決策があります。