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;
> > 

Reply via email to