On Thu, Feb 09, 2006 at 03:13:22PM -0500, Greg Stark wrote: > Stephen Frost <[EMAIL PROTECTED]> writes: > > > * Tom Lane ([EMAIL PROTECTED]) wrote: > > > Greg Stark <[EMAIL PROTECTED]> writes: > > > > It doesn't seem like a bad idea to have a max_memory parameter that if a > > > > backend ever exceeded it would immediately abort the current > > > > transaction. > > > > > > See ulimit (or local equivalent). > > > > As much as setting ulimit in shell scripts is fun, I have to admit that > > I really don't see it happening very much. > > For one thing it requires admin access to the startup scripts to arrange this. > And it's always cluster-wide. > > Having a GUC parameter would mean it could be set per-session. Even if the GUC > parameter were just implemented by calling setrlimit it might be useful.
Trying to tune work_mem is extremely difficult in PostgreSQL, because you are constantly running the risk of sending the server into a swap-storm. Having a set-able per-backend memory limit would allow a lot more flexability in setting work_mem, because you could now ensure that you wouldn't push the server into serious swapping. Even better would be a means to set a cluster-wide memory limit, but of course that's substantially more work. -- Jim C. Nasby, Sr. Engineering Consultant [EMAIL PROTECTED] Pervasive Software http://pervasive.com work: 512-231-6117 vcard: http://jim.nasby.net/pervasive.vcf cell: 512-569-9461 ---------------------------(end of broadcast)--------------------------- TIP 2: Don't 'kill -9' the postmaster