Re: postgres and persistant connections (using Apache::DBI)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Rajesh,
Thanks for the suggestion. I tried what you told me. In my startup script I did
use Apache2::Status;
use Apache::DBI;
before any modules that use DB connect were loaded.
I also included the handler for perl-status in the conf file as you mentioned. However as I access different pages the database connection doesn't persist. I check netstat on the db server and I see connections from the web server that appear and disappear. I checked http://my_mod_perl_server/perl-status and it has a link that says DBI connections but with no data in it.
Also I wasn't clear on why you are not using connect_on_init.
Thanks
Salem


From: "Rajesh Kumar Mallah" <mallah.rajesh@xxxxxxxxx>
To: "Salem Berhanu" <salemb4@xxxxxxxxxxx>
CC: pgsql-admin@xxxxxxxxxxxxxx
Subject: Re: [ADMIN] postgres and persistant connections (using Apache::DBI)
Date: Wed, 29 Mar 2006 21:32:47 +0530

On 3/29/06, Salem Berhanu <salemb4@xxxxxxxxxxx> wrote:
> I am trying to set up a persistent connection to a handful of postgres dbs
> at startup using Apache::DBI (also using mod_perl)
> Here is what I am doing but I am not sure how to check if it's working
> right.
>
> in httpd.conf I have
> PerlRequire startup.pl
>
> in startup.pl I load all the necessary perl modules and also include the
> lines
>
> use Apache::DBI;
> Apache::DBI->connect_on_init( host, login, password);
>
> This doesn't seem to make any difference. I was expecting to see database > connections when I restarted apache and that all queries would get handled > by these connections. Is this a wrong assumption? What is the expectation > and what would be a good test when setting up persistent connections to a
> postgres db?

We use DBI connection pooling with postgres in mod_perl environment
and it works fine. We however do not use connect_on_init as Apache::DBI
docs say that all DBI->connect() anyway gets intercepted transparently.

please take care that

1. Make sure Apache::DBI is loaded before any module that issues a DB connect.
you can even load Apache::DBI from httpd.conf by
PerlRequire Apache::DBI

2. You can know if Apache::DBI is effective or not by installing Apache::Status
,load Apache::Status before Apache::DBI in that case and add a Location
section in the httpd.conf like:


--------------- httpd.conf---------------------
PerlModule Apache::Status
PerlModule Apache::DBI

<Location /perl-status>
        SetHandler  perl-script
        PerlHandler Apache::Status
</Location>
------------------------------------------------------
point your browser to http://your_mod_perl_server/perl-status
and check the section about database conenctions.

i am not sure if this info answers your question but
i am describing something that works for me.

regds
Rajesh Kumar Mallah.










> Thanks much
> Salem
>
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 2: Don't 'kill -9' the postmaster
>




[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux