arrays - 将 PostgreSQL 数组数据类型解析为数组到 perl

标签 arrays perl postgresql

我在将 PosgreSQL 数组数据类型解析为 perl 时遇到了互移植性问题。

在 SUSE Linux 4.3.2 和 perl v5.10.0 上运行 PostgreSQL 8.3.7 的一台机器上,postgres 数组数据类型被解析为 perl 数组,而在另一台机器上,在 Red Hat 4.1.2-46 和 perl 上运行 PostgreSQL 8.4.4 v5.8.8 相同的数据类型被解析为表示 posgres 数组的字符串,例如。 '{{4,315}}'。在这两种情况下都使用相同的非常简单的代码。

use DBI;
$dbh = DBI->connect(DBI:pg [...]);
$res = $dbh -> selectall_arrayref(select [...]);

现在是问题:

如何强制执行一种行为,最好是前一种行为(解析为 perl 数组)? 这种行为取决于什么? (perl 版本?驱动程序?postgres 设置?,postgres 版本?)

最佳答案

嗯,official docs假设您必须将 $dbh->{pg_expand_array} 设置为真值。

虽然我还没有亲自检查过。

关于arrays - 将 PostgreSQL 数组数据类型解析为数组到 perl,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6044389/

相关文章:

arrays - 为什么通常的做法是在已满时将阵列容量加倍?

ios - Swift 中的像素数组到 UIImage

perl - http::proxy 模块引擎

sqlite - 如何修复 ActivePerl 的 PPM "database disk image is malformed"错误?

sql - PostgreSQL 中 JSON 数据类型的正确用例是什么?

postgresql - 如何配置 pgAdmin III 以在启动时打开默认数据库并选择表节点?

C:填充多维数组

arrays - 将数组打印到文本文件 (v2)

ruby-on-rails - 索引页的查询优化

c - "sizeof"知道数组的大小在 C 函数中不起作用