Toomas Vendelin wrote:
> I'm writing CGI scripts in Perl using Postgresql via DBI interface.
> RAISE_ERROR is on.
>
> For some reason (unlike with MySQL), when a Perl script dies from
> Postgresql error, the line number of Perl script where the error
> occurred is not reported, just the SQL statement line number is
given.
> In a longer script looking it may become a tedious task to guess the
> line in script that caused the problem. Is that an expected behavior
> or am I missing something?
It works for me:
$ cat dberr.pl
use CGI::Carp;
use DBI;
my $dbh=DBI->connect("dbi:Pg:dbname=test") or die;
$dbh->do("bogus SQL");
$ perl dberr.pl
[Fri May 1 15:05:08 2009] dberr.pl: DBD::Pg::db do failed: ERROR:
syntax error at or near "bogus"
[Fri May 1 15:05:08 2009] dberr.pl: LINE 1: bogus SQL
[Fri May 1 15:05:08 2009] dberr.pl: ^ at dberr.pl line 4.
If you run that trivial program in your environment, what output do you
get?
Best regards,
--
Daniel
PostgreSQL-powered mail user agent and storage:
http://www.manitou-mail.org