与PostgreSQL的Perl DBI连接不会因数据库错误而死()

时间:2012-10-25 13:38:04

标签: perl postgresql error-handling

当SQL出错时,我习惯于Perl“崩溃”我的脚本,但是Postgres只是将错误提供给Apache错误日志并且脚本继续。调试代码的恶意行为。

现在我已经向甲骨文询问谷歌了,但要么是我提出了错误的问题,要么是非常不可能,我是唯一一个有这个问题的人。 ;)

简而言之:我希望Postgres的故障行为与MySQL一样,即“崩溃”脚本并注意use CGI::Carp qw(fatalsToBrowser);并向我展示错误的SQL语句。

我正在使用好的旧DBI来访问我服务器上的Ubuntu 10.04上的PG-DB,Postgres 8.4和Perl 5.10.1,如果这很重要的话。所有套餐均来自官方代表。

编辑: 感谢理查德·胡克斯顿(Richard Huxton),这个问题已经解决,留给其他人找到解决方案。

our $dbh = DBI->connect($DBUrl, $DBUser, $DBPass,{ RaiseError => 1}
           ) || die "Could not connect to database: $DBI::errstr";

1 个答案:

答案 0 :(得分:1)

当你建立连接时,你只需要设置RaiseError吗?

https://metacpan.org/module/DBI