Unfortunately Apache::DBI handles per-process connections only. So,
almost any httpd child will hold all the connections. If you use user
sessions as well, you'll run even into more serious troubles.
What you're looking for is SQLRelay. You will need to work a little bit
around the DBI driver to get the cached connections, but since the
driver uses its native interface, this is possible (or you can scrap DBI
altogether- not recommended). Get it here:
http://taonix.org/
because firstworks.com has been down for months.
It's works great. The other probably better option (though not always
possible to use) would be mod_perl and Apache::DBI connection pooling.
This would be the easiest solution because it would require
minimal-to-none code changes.
While it would be possible to collect db handles in shared memory,
it would still require a persistently running daemon- SQLRelay does
essentially that, only it has more features. Apache::DBI caches the
handles in Apache space and hands you the handle that has exactly the
same connection parameters and is more configurable as a connection pooler.
Good luck.
On Thursday, November 14, 2002, at 03:03 AM, Chris Miles wrote:
On Thu, Nov 14, 2002 at 10:47:20AM +0300, dima wrote:
2) think about writing a server which would provide cgi scripts with
cached connections; you can $handle->prepare(...) the most common
queries as well.
This seems like a common requirement. Are there any such tools which
can be run in a web server (or similar) environment to keep a pool
of postgresql connections, and perhaps cache common queries also?
Regards,
Chris
--
Chris Miles
[EMAIL PROTECTED]
---------------------------(end of broadcast)---------------------------
TIP 3: if posting/reading through Usenet, please send an appropriate
subscribe-nomail command to [EMAIL PROTECTED] so that your
message can get through to the mailing list cleanly
><><><><><><><><><
AgentM
[EMAIL PROTECTED]
---------------------------(end of broadcast)---------------------------
TIP 2: you can get off all lists at once with the unregister command
(send "unregister YourEmailAddressHere" to [EMAIL PROTECTED])
---------------------------(end of broadcast)---------------------------
TIP 3: if posting/reading through Usenet, please send an appropriate
subscribe-nomail command to [EMAIL PROTECTED] so that your
message can get through to the mailing list cleanly