On Sat, 2 Feb 2002, Tom Lane wrote:
> "Jeff Martin" <jeff@dgjc.org> writes:
> > LOCK TABLE Test IN EXCLUSIVE MODE;
>
> > /* This function should be able to operate concurrently BUT CANNOT */
>
> How you figure that? EXCLUSIVE lock is clearly documented to be
> self-conflicting; so only one process can hold it at a time. See
> http://www.ca.postgresql.org/users-lounge/docs/7.1/postgres/locking-tables.html
>
> If concurrency is important I'd suggest generating your ID values using
> a sequence generator, rather than trying to build your own
> implementation.
I actually thought that he's complaining about the fact that it gives him
the same id twice if he runs it in two transactions rather than the delay
until the first commits.