我习惯于 Perl 在 SQL 出错时“崩溃”我的脚本,但 Postgres 只是将错误提供给 Apache 错误日志并且脚本继续运行。调试代码的邪恶行为。
现在我已经问过 Google 的 Oracle,但要么我问错了问题,要么不太可能,我是唯一遇到这个问题的人。 ;)
简而言之:我希望 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";
最佳答案
确定您只需要在建立连接时设置 RaiseError 吗?
关于与 PostgreSQL 的 Perl DBI 连接不会因数据库错误而终止(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13069873/