=?iso-8859-1?Q?Patrice_Espi=E9?= <patrice(dot)espie(at)univ-lyon2(dot)fr> writes:
> When a lot of threads (well, I tried 20, 5 and 2) used this algo, more than
> one thread get the syslock %d at the same time.
"Threads"? Are you sure each thread has an independent database
connection, and you're not reusing connections to issue commands
from different threads? Your pseudocode looks like it should work
if issued to separate backends ...
regards, tom lane