PostgreSQL and PHP persistent connections - Mailing list pgsql-interfaces

Thies, we talked at LinuxWorld about improving the reliability of
persistent PostgreSQL connections in PHP.

I believe the problem is that persistent connections sometime do not
pass clean sessions because of open transactions and SET changes to the
session.

We discussed using 'ROLLBACK' before passing a connection to a new user,
but the problem was that ROLLBACK with no open transaction causes a
server log error message.  We discussed adding 'ROLLBACK SILENT' to fix
this, but I believe a better, more portable solution is a simple "BEGIN
WORK;ROLLBACK".  This will do nothing if there is no open transaction,
and will ROLLBACK any open transaction.  I propose this be sent by PHP
as the first query when passing persistent connections.

As far as SET changes, does anyone on the PostgreSQL interfaces list
have a suggestion on how to RESET all session parameters?  Seems we may
need to add this feature in to the backend.

--  Bruce Momjian                        |  http://candle.pha.pa.us pgman@candle.pha.pa.us               |  (610)
853-3000+  If your life is a hard drive,     |  830 Blythe Avenue +  Christ can be your backup.        |  Drexel Hill,
Pennsylvania19026
 


pgsql-interfaces by date:

Previous
From: Peter Eisentraut
Date:
Subject: Re: [HACKERS] pgAccess fails to launch on HPUX
Next
From: Tom Lane
Date:
Subject: Re: [HACKERS] pgAccess fails to launch on HPUX