What is wrong with pg_pconnect() ?

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



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



[Index of Archives]     [Postgresql General]     [Postgresql Admin]     [PHP Users]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Databases]     [Yosemite Backpacking]     [Postgresql Jobs]

  Powered by Linux