Ok, I found it, but this has got to be some kind of bug. This works: Apache::DBI->connect_on_init("dbi:pg:demo","demo");
This doesn't: Apache::DBI->connect_on_init("dbi:Pg:demo","demo"); That's right, putting 'dbi:pg' in lowercase made it work. I looked through some old newsgroup stuff and saw someone using Postgres had it similar to that. Here's some further debugging information for the developers: perl -v => v5.6.1 on i386-freebsd (FreeBSD 4.4) # pkg_info |egrep -i "dbi|postgres" p5-Apache-DBI-0.88 DBI persistent connection, authentication and authorization p5-DBD-Pg-1.01 Provides access to PostgreSQL databases through the DBI p5-DBI-1.20 The perl5 Database Interface. Required for DBD::* modules postgresql-7.1.3 A robust, next generation, object-relational DBMS -doug On 14 Mar 2002, Brendan W. McAdams wrote: > I've seen similar behavior with DBD::Sybase; if your SYBASE env variable > is not set or points at an invalid directory Apache starts up but begins > segging every child process over and over again. > > I'm not familiar with Postgres but this might point you in the right > direction. > > On Thu, 2002-03-14 at 18:09, Doug Silver wrote: > > I can't seem to get Apache::DBI to start up properly. > > > > Here's my startup.pl: > > > > #!/usr/bin/perl -w > > use strict; > > use Apache (); > > use Apache::Status (); > > use Apache::DBI (); # This *must* come before all other DBI modules! > > use Apache::Registry; > > use CGI (); > > CGI->compile(':all'); > > use CGI::Carp (); > > $Apache::DBI::DEBUG = 2; > > Apache::DBI->connect_on_init > > ("DBI:Pg:dbname=demo;host=localhost", "demo", "", > > { > > PrintError => 1, # warn() on errors > > RaiseError => 0, # don't die on error > > AutoCommit => 0, # require transactions > > } > > ) > > or die "Cannot connect to database: $DBI::errstr"; > > 1; > >