Rod Taylor <rbt@rbt.ca> writes:
>> I had a new question from a client: is it possible to "cap" CPU usage
>> for PostgreSQL running on Linux?
> Anyway, would it be sufficient to simply reduce the priority of the
> process?
If the issue is to prevent Postgres *as a whole* from hogging CPU usage,
I would think that nice-ing the postmaster at launch would work
beautifully. Requests like "I want Postgres to use no more than 30%
of CPU" make no sense to me: if the CPU is otherwise idle, why should
you insist on reserving 70% of it for the idle loop?
But what we commonly see is "I want to cap the resource usage of this
particular query", and that is a whole lot harder. You cannot win by
nice-ing one single backend, because of priority-inversion concerns.
(The queries you would like to be high-priority might be blocked waiting
for locks held by low-priority backends.)
regards, tom lane