我将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数组的字符串,例如。 '{{4315}}'。在这两种情况下,都使用相同的非常简单的代码。
use DBI;
$dbh = DBI->connect(DBI:pg [...]);
$res = $dbh -> selectall_arrayref(select [...]);
现在的问题是:
如何强制执行一个行为,最好是前者(解析为perl数组)? 这种行为取决于什么? (perl version?driver?postgres settings?,postgres version?)