You could use a 1 column/1 row table perhaps. Use some sort of locking mechanism.

Also, check out contrib/userlock


Alan Stange wrote:
Hello all,

is there a simple way to limit the number of concurrent callers to a stored proc?

The problem we have is about 50 clients come and perform the same operation at nearly the same time. Typically, this query takes a few seconds to run, but in the case of this thundering herd the query time drops to 70 seconds or much more. The query can return up to 15MB of data.

The machine is a dual opteron, 8 GB memory, lots of fiber channel disk, Linux 2.6, etc.

So, I'm thinking that a semaphore than will block more than N clients from being in the core of the function at one time would be a good thing.

-- Alan

---------------------------(end of broadcast)---------------------------
TIP 3: Have you checked our extensive FAQ?


---------------------------(end of broadcast)---------------------------
TIP 9: In versions below 8.0, the planner will ignore your desire to
      choose an index scan if your joining column's datatypes do not

Reply via email to