What is wrong with pg_pconnect() ? - Mailing list pgsql-php

From Sylvain Ross
Subject What is wrong with pg_pconnect() ?
Date
Msg-id IAEMIKOELLIGJPKPFJBOEECKCAAA.jfk@fleming.u-psud.fr
Whole thread Raw
Responses Re: What is wrong with pg_pconnect() ?  ("Rod K" <rod@23net.net>)
Re: What is wrong with pg_pconnect() ?  ("scott.marlowe" <scott.marlowe@ihs.com>)
List pgsql-php
Hi,

I read a few sites (including php.net, article about db persistent
connections) speaking about the adventage of pg_pconnect() php function...

I got a "big" problem with pconnections made with the pg_pconnect function.
The problem is the following :


I'm using a stable debian with:
apache 1.3.26
php 4.1.2
postgres 7.2

(I know some guys thinks those are old versions... no, it's just debian
stable versions ;))


So , here is the pb :

- A client connects for the first time to my httpd and load a script which
contain a pg_pconnect() call, what create a pgsql process... so far so good
...

- As my httpd is in keepalive mode (wiuth a keepalive_timeout of 15 secs),
if the user loads another page with an other pg_pconnect() call (with the
same parameters as the first pconnect()), it uses the same pgsql process
created before. Cool ! pconnect is great !

- BUT, when the keepalive times out, the dedicated apache process dies (what
is normal), BUT the pgsql thread is still alive ! with "idle" state !

Of course, since the related apache process has died, this idling pgsql
process will stay in memory for ever ! won't be reused ever !

I don't know how to deal with this ! If the pgsql forked-process where
killed when apache forked-process die, all should be OK ! but it does not :(


Tell me if there are any solutions...

Thanks in advance.

Sylvain


pgsql-php by date:

Previous
From: Sai Hertz And Control Systems
Date:
Subject: A progress page with PHP + PostgreSQL
Next
From: "Thom Dyson"
Date:
Subject: Re: A progress page with PHP + PostgreSQL