问题标签 [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 - 允许 unix 用户 'postgres' 访问 plperlu 的外部 .pm 文件
我正在将 Windows perl/postgresql Web 应用程序移植到 CentOS。
在postgresql.conf
我有这些行:
在 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意味着“其他”有权读取和执行。
postgresql - Postgresql plperlu 和编码
我想在 plperlu 中生成 PDF,将其存储在数据库中,然后将其作为附件添加到电子邮件中。
我正在使用 PDF::Report 来生成 PDF。代码如下所示:-
我认为这个错误与invalid input syntax for type bytea
创建的 PDF 文档的编码有关。
文档本身很好,因为$pdf->saveAs('/tmp/test.pdf');
它创建了一个完全可读的文档。
我在返回结果之前尝试了 base64 编码,因为电子邮件的附件需要在 base64 中。
这消除了错误,然后我可以将它存储在一个表中: -
这也可以正常工作,并且可以附加到电子邮件中,但是在 base64 解码后损坏问题仍然存在。
直接从数据库中导出文件并运行仅在一行之后base64 -d test.b64
就会出现错误。invalid input
这似乎与 postgres 处理 bytea 的方式有关,因为文件如下所示:-
有很多 \012 分隔符。
任何想法,我一直在这几个小时,完全被难住了。
postgresql - PostgreSQL plperlu 编译错误:错误:没有从编译函数中获得代码引用
我使用以下命令在 Postgres 9.3 (OS - UBUNTU 12.04.5) 中创建了语言 plperlu
创建语言 plperlu;
我想从 postgres 函数调用 shell 脚本所以我使用 plperlu 编写了下面的函数。
下面是函数
编译时出现错误
错误:没有从编译函数“tet_func”获得代码引用上下文:PL/Perl 函数“tet_func”的编译 ********** 错误 **********
错误:没有从编译函数“tet_func”获得代码引用 SQL 状态:XX000 上下文:PL/Perl 函数“tet_func”的编译
有人知道为什么会发生此错误吗?或者任何人都有其他解决方案来从 postgres 函数调用 shell 脚本。