> In contrast the current alternatives appear to be either LOCK 
> the entire table (preventing ALL inserts and selects),

SHARE ROW EXCLUSIVE mode doesn't prevent selects...

> or to create a UNIQUE constraint (forcing complete rollbacks
> and restarts in event of a collision :( ).

Hopefully, savepoints will be in 7.2

> Any comments, suggestions or tips would be welcome. It looks 
> like quite a complex thing to do - I've only just started
> looking at the postgresql internals and the lock manager.

It's very easy to do (from my PoV -:)) We need in yet another
pseudo table like one we use in XactLockTableInsert/XactLockTableWait
- try to look there...

Vadim

Thu, 11 Jan 2001 09:20:19 -0800
"Mikheev, Vadim" <vmikheev@SECTORBASE.COM>
RE: Lock on arbitrary string feature


> Has anyone any input to offer on adding an arbitrary locking feature?

Have you tried user locks?  They don't block and span transactions but
maybe you can work this out in your application.

User locks are not in the parser but there is an  add on module 
that is in the contrib dir. Maybe that will work for you.



Myron Scott
mkscott@sacadia.com




Thu, 11 Jan 2001 10:14:25 -0800 (PST)
Myron Scott <mscott@sacadia.com>
RE: Lock on arbitrary string feature