On Wed, 2008-09-17 at 17:34 -0400, Alvaro Herrera wrote:
> Simon Riggs wrote:
> >
> > On Wed, 2008-09-17 at 16:25 -0400, Alvaro Herrera wrote:
> >
> > > We've been profiling a large system (8 CPUs, 64 GB of memory, some
> > > dozens of disks) which seems rather more swamped than it should. Part
> > > of the problem seems to come from CleanupTempFiles, the second entry in
> > > oprofile output.
> >
> > I'm glad you've observed this also. I saw it about two years ago but
> > wasn't able to convince anyone else it existed at the time.
>
> I couldn't find it in the archives.
Perhaps it was a private conversation then, but the main point is I've
seen it too and believe it is a real world problem.
> > Simple solution is to have a state variable so you can see whether a
> > backend has created an temp files in this transaction. Most don't, so I
> > think the above two solutions are overkill. If we created any, scan for
> > them, if not, don't. Just a simple boolean state, just as we have for
> > AtEOXact_RelationCache().
>
> Ah -- like this?
Yeh, nice and simple.
Might be better to call it "need_eoxact_work" to mirror relcache.c?
any_temporary_files is fairly vague and could be misinterpreted.
-- Simon Riggs www.2ndQuadrant.comPostgreSQL Training, Services and Support