Server admin for Clients ?

Started by Gauthier, Davealmost 17 years ago2 messagesgeneral
Jump to latest
#1Gauthier, Dave
dave.gauthier@intel.com

What does Postgres have for managing/controlling user access to the DB in terms of resource allocation? I remember in Oracle, you could specify how many server slots were available for users to share and how much resources they were allotted. A super-user that needed more resource for heavy loading (for example) could be given a private slot with more resources allocated to that slot.

What I have is a user who has fired off 6 resource intensive reports that are bogging my DB down. In the meantime, I have what I would like to identify as a high priority DB loader process (running as a super user BTW) that is bogged down trying to load the DB. So the high priority job is just 1 out of 7 contenders for the DB. I'd like it to be more like the DB loader gets 50% of the resources while the reports get 50% altogether.

Can this be controlled in PG?

Thanks.
-dave

#2Laurenz Albe
laurenz.albe@cybertec.at
In reply to: Gauthier, Dave (#1)
Re: Server admin for Clients ?

Dave Gauthier wrote:

What does Postgres have for managing/controlling user access
to the DB in terms of resource allocation? I remember in
Oracle, you could specify how many server slots were
available for users to share and how much resources they were
allotted. A super-user that needed more resource for heavy
loading (for example) could be given a private slot with more
resources allocated to that slot.

What I have is a user who has fired off 6 resource intensive
reports that are bogging my DB down. In the meantime, I have
what I would like to identify as a high priority DB loader
process (running as a super user BTW) that is bogged down
trying to load the DB. So the high priority job is just 1
out of 7 contenders for the DB. I'd like it to be more like
the DB loader gets 50% of the resources while the reports get
50% altogether.

Can this be controlled in PG?

You can limit the number of concurrent users with
the max_connections parameter.

You can limit the amount of memory per backend process with
the work_mem parameter.

That is all you can do, as far as I know. I cannot think
of a way to limit CPU consumption or I/O activity.

Yours,
Laurenz Albe