I had an idea last night that addresses the process priority and the locking
issue: use LIMIT with an offset in a long running thread to programmatically
throttle the backend processing.
This works only because I am storing all the results to my queries as
pointers in a temporary table (then using those values as the basis for
subsequent queries).
-----Original Message-----
From: Tom Lane [mailto:tgl@sss.pgh.pa.us]
Sent: Thursday, December 20, 2001 7:10 AM
To: Robert B. Easter
Cc: Peter T. Brown; pgsql-sql@postgresql.org
Subject: Re: [SQL] controlling process priority
"Robert B. Easter" <reaster@comptechnews.com> writes:
> [ C function to nice down the backend ]
This sort of thing has been suggested before, but I've always wondered
whether it isn't counterproductive. The trouble is priority inversion:
any time the niced backend is holding a lock on some shared
datastructure, it will be blocking the allegedly-higher-priority other
backends.
regards, tom lane