Re: Non-Blocking Locks (i.e. Oracle NOWAIT)
| От | Tom Lane |
|---|---|
| Тема | Re: Non-Blocking Locks (i.e. Oracle NOWAIT) |
| Дата | |
| Msg-id | 22695.1058282255@sss.pgh.pa.us обсуждение исходный текст |
| Ответ на | Non-Blocking Locks (i.e. Oracle NOWAIT) (Jan Bernhardt <jb@baltic-online.de>) |
| Список | pgsql-sql |
Jan Bernhardt <jb@baltic-online.de> writes:
> I have a multi-user application which synchronizes access to certain datasets
> via the database itself. If a user has a project in that application open no
> other user should be able to work on it too. When developing the application I
> considered the database to be a place to handle the synchronization since
> transactions are (normally) an integral part of a database system. When a user
> opens a project the application firstly locks a corresponding row. But since I
> don't want the application to block if that row is already locked I use the
> Oracle "NOWAIT" feature (SELECT ... FOR UPDATE NOWAIT) which tries to receive
> the lock on the specified row and if that row is already locked it returns
> with an error without blocking and I can tell the user that the project is
> already in use.
You might be able to use the contrib/userlock module for this.
regards, tom lane
В списке pgsql-sql по дате отправления: