我正在将 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意味着“其他”有权读取和执行。