From: | Rod Taylor <pg(at)rbt(dot)ca> |
---|---|
To: | Kevin Grittner <Kevin(dot)Grittner(at)wicourts(dot)gov> |
Cc: | pgsql-hackers(at)postgresql(dot)org, Neil Conway <neilc(at)samurai(dot)com>, Peter Brant <Peter(dot)Brant(at)wicourts(dot)gov> |
Subject: | Re: fsutil ideas |
Date: | 2006-02-24 16:57:46 |
Message-ID: | 1140800266.5092.144.camel@home |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Fri, 2006-02-24 at 09:48 -0600, Kevin Grittner wrote:
> >>> On Fri, Feb 24, 2006 at 9:34 am, in message
> <1140795253(dot)5092(dot)122(dot)camel(at)home>,
> Rod Taylor <pg(at)rbt(dot)ca> wrote:
> >
> > You don't need to know the free diskspace in real time. A 2 minute
> old
> > value is probably just as good.
>
> Not really, this sort of monitoring has kept us from crashing under our
> old database product when a poorly written query starts filling
> available space by populating a temporary table. A green light turns
I see. It is annoying that you cannot easily (takes a patch to PG
sources) segregate users temporary workspaces into per-user tablespaces
with filesystem quotas.
PostgreSQL seems to deal with out of diskspace situations pretty well
when it impacts a tablespace (global stuff like WAL or subtransactions
have issues -- but they grow slowly) as far as only interrupting service
for the individual actions that ran out.
You may wish to look at funding toggles that can configure the maximum
memory usage and maximum temporary diskspace (different tablespaces with
filesystem quotas) on a per user basis similar to the statement_timeout
limitations in place today.
I'm curious as to how you monitor for total transaction time length to
ensure that vacuum is able to do its thing, particularly when the
transaction is active (not IDLE).
--
From | Date | Subject | |
---|---|---|---|
Next Message | Bruce Momjian | 2006-02-24 17:16:58 | Re: [HACKERS] Patch Submission Guidelines |
Previous Message | Tom Lane | 2006-02-24 16:51:47 | Re: memory context for tuplesort return values |