From: Jan Bernhardt <jb@baltic-online.de>
To: pgsql-sql@postgresql.org
Subject: Non-Blocking Locks (i.e. Oracle NOWAIT)
Date: Tue, 15 Jul 2003 14:44:38 +0200
Message-ID: <20030715144438.27550a7e.jb@baltic-online.de> (raw)
Hi there,
though this question has been asked several times before (but never really
answered), I have to give it another try.
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.
Now that the application is to be ported to PG I need a similar functionality.
Is there that an animal? If not, what would you recommend?
TIA,
- Jan.
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-sql@postgresql.org
Cc: jb@baltic-online.de
Subject: Re: Non-Blocking Locks (i.e. Oracle NOWAIT)
In-Reply-To: <20030715144438.27550a7e.jb@baltic-online.de>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox