Re: fsutil ideas

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).

--

In response to

Responses

Browse pgsql-hackers by date

  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