Re: php with postgres - Mailing list pgsql-hackers

From Bruce Momjian
Subject Re: php with postgres
Date
Msg-id 200307222124.h6MLOso07713@candle.pha.pa.us
Whole thread Raw
In response to php with postgres  (ivan <iv@psycho.pl>)
List pgsql-hackers
Marcus B?rger wrote:
> Hello Jan,
> 
> Tuesday, July 22, 2003, 10:57:56 PM, you wrote:
> 
> JW> Bruce Momjian wrote:
> >> Marcus B?rger wrote:
> >>> However it may be very usefull to terminate any open transaction before
> >>> reusing a persisten connection. Typically this happens when the same script
> >>> runs again. But anyway using transactions together with persistent conenctions
> >>> in a multithreaded environment isn't the best thing you could do. So our
> >>> options are
> >>> 1) tell the users to do 'auto commit mode'
> >>> 2) nested transactions
> >>> 3) locking
> >>> 
> >>> >From my perspective 2) and 3) are bad ideas for the web environment. In other
> >>> words i guess we should leave it as is with transaction rollback only when the
> >>> client terminates (e.g. the webserver stops).
> >> 
> >> I don't see why you wouldn't just do BEGIN;COMMIT;RESET ALL; when you
> >> pass the connection to a new client.
> >> 
> 
> JW> Right, and I don't see why using transactions in a multithreaded 
> JW> environment would be a bad idea. However an application is designed, one 
> JW> logical unit of changes, called a business transaction, has to have one 
> JW>   database transaction modifying the business relevant information. 
> JW> There could be other transactions involved for dialog handling and 
> JW> advisory locking.
> 
> 
> So i'll update to "BEGIN;COMMIT;RESET ALL;" :-)

Yes, I think that is it.  The RESET ALL has to be at the end because you
have to make sure the RESET is in a valid transaction.

The only way to make sure autocommit doesn't effect you would be to do:
BEGIN;COMMIT;BEGIN;RESET ALL;COMMIT;

but the autocommit GUC option was only in 7.3 and will not be in 7.4, so
this seems like overkill.

--  Bruce Momjian                        |  http://candle.pha.pa.us pgman@candle.pha.pa.us               |  (610)
359-1001+  If your life is a hard drive,     |  13 Roberts Road +  Christ can be your backup.        |  Newtown Square,
Pennsylvania19073
 


pgsql-hackers by date:

Previous
From: "Andrew Dunstan"
Date:
Subject: reprise on Linux overcommit handling
Next
From: Joe Conway
Date:
Subject: Re: initdb fails: problem with array?