Re: [HACKERS] nonblocking lock?

Bruce Momjian <maillist@candle.pha.pa.us>

From: Bruce Momjian <maillist@candle.pha.pa.us>
To: Massimo Dal Zotto <dz@cs.unitn.it>
Cc: Pablo Funes <pablo@cs.brandeis.edu>, PostgreSQL Hackers <hackers@postgreSQL.org>
Date: 1999-06-02T15:33:23Z
Lists: pgsql-hackers
> > Is it possible to do a nonblocking lock? That is, 
> > I want several clients to execute,
> > 
> >     begin
> >     if table A is locked
> >     then
> >         go around doing stuff on other tables
> >     else
> >         lock A and do stuff on A
> >     endif
> > 
> > the problem is, if I use normal lock, then 
> > after one client has locked and is doing stuff on A
> > the other one will block and thus it won't be able
> > to go around doing stuff on other tables. Is it
> > possible to do a nonblocking lock that will just
> > fail if the table is locked already? 
> 
> Try with user locks. You can find the code in contrib/userlocks.

Yes, this is the proper PostgreSQL solution.

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