On Mar 28, 2011, at 9:48 AM, Merlin Moncure wrote:
> On Mon, Mar 28, 2011 at 9:29 AM, Kevin Grittner
> <kevin.gritt...@wicourts.gov> wrote:
>> Tom Lane <t...@sss.pgh.pa.us> wrote:
>> 
>>> The major problem with all of this is that the bgwriter has no
>>> idea which buffers contain heap pages.  And I'm not convinced it's
>>> a good idea to try to let it know that.  If we get to the point
>>> where bgwriter is trying to do catalog accesses, we are in for a
>>> world of pain. (Can you say "modularity violation"?  How about
>>> "deadlock"?)
>> 
>> How about having a BackgroundPrepareForWriteFunction variable
>> associated with each page the bgwriter might see, which would be a
>> pointer to a function to call (if the variable is not NULL) before
>> writing?  The bgwriter would still have no idea what kind of page it
>> was or what the function did....
> 
> Well, that is much cleaner from abstraction point of view but you lose
> the ability to adjust scan priority before flushing out the page...I'm
> assuming by the time this function is called, you've already made the
> decision to write it out.  (maybe priority is necessary and maybe it
> isn't, but I don't like losing the ability to tune at that level).
> 
> You could though put a priority inspection facility behind a similar
> abstraction fence (BackgroundGetWritePriority) though.  Maybe that's
> more trouble than it's worth though.

Merlin, does your new work on CLOG caching negate anything in this thread? I 
think there's some ideas here worth further investigation and want to make sure 
they don't get lost.
--
Jim C. Nasby, Database Architect                   j...@nasby.net
512.569.9461 (cell)                         http://jim.nasby.net



-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to