2009/5/6 Albe Laurenz <laurenz.albe@xxxxxxxxxx>: > durumdara wrote: >> In FireBird the transactions have these settings: >> >> >> SET TRANSACTION >> [NAME hostvar] >> [READ WRITE | READ ONLY] >> [ [ISOLATION LEVEL] { SNAPSHOT [TABLE STABILITY] >> | READ COMMITTED [[NO] RECORD_VERSION] } ] >> [WAIT | NO WAIT] >> [LOCK TIMEOUT seconds] >> And this is the important thing: >> >> >> [WAIT | NO WAIT] >> [LOCK TIMEOUT seconds] >> If set wait and timeout, the Firebird is waiting for the >> locked resource (record) for X seconds before it show deadlock error. >> >> But when you set no wait, the deadlock error immediately >> shown by the server. >> >> I wanna ask that if I want to avoid the full deadlocks. >> >> For. example: I forget to make commit, or rollback on >> exception then all resources I used (updated) is locked. >> >> If I use nowait, the clients immediately get the error >> message, and they are are not sitting deafly and blindly >> before the screen, waiting for what will happen. >> >> So: have PGSQL same mechanism like nowait? 'select...for update' has a nowait clause, as does 'lock'. also advisory locks, using pg_try_advisory_lock. another tactic is to send queries asynchronously and fire a cancel based on client driven logic. merlin -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general