Wow, non-blocking lock failure? Can I take this chance to say an overdue thanks to the Postgresql developers? A truly commercial grade feature set in a free database... On 8/16/05, Matt Miller <mattm@xxxxxxx> wrote: > On Tue, 2005-08-16 at 12:01 -0700, Bill Moseley wrote: > > I wondered if my application should set an alarm and timeout > > with an error if, by odd chance, an update hangs. > > Here's a way to handle this under the upcoming 8.1 release: > > Before you execute the update you can execute SELECT ... FOR UPDATE > NOWAIT to select anything (e.g. dummy constant) from the row that you > want to update. If no error is thrown then you have a lock on your row > and you can confidently proceed with your update. Otherwise someone has > that row locked. At that point you can loop and retry if you want. > > ---------------------------(end of broadcast)--------------------------- > TIP 6: explain analyze is your friend > ---------------------------(end of broadcast)--------------------------- TIP 3: Have you checked our extensive FAQ? http://www.postgresql.org/docs/faq