【发布时间】:2013-10-04 04:12:23
【问题描述】:
我正在将 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; 放入 PostgreSQL 中的 plperlu 函数中,只要我转到带有 .pm 文件的路径并更改 ACL 以给用户 postgres“阅读”和“安全”选项卡中的“读取和执行”权限。
在 CentOS 6.4 上,我有点困惑。当我尝试定义一个调用 MyModule 的 plperlu 函数时,它给了我ERROR: Can't locate /path/to/my/app/dev/area/MyModule.pm in @INC。
我很困惑,因为 MyModule.pm 归我所有:我拥有 664 个权限。我尝试了 665,但仍然没有运气:sudo -u postgres ls -l /path/to/my/app/dev/area/MyModule.pm 报告Permission denied。据我所知,我理解 unix 权限,665 表示“其他”具有读取和执行权限。
【问题讨论】:
标签: perl postgresql centos file-permissions plperlu