Robert Haas <robertmh...@gmail.com> writes:
> On Mon, Jun 6, 2011 at 12:30 PM, Tom Lane <t...@sss.pgh.pa.us> wrote:
>> On reflection I think this behavior is probably limited to the case
>> where we've done what we used to call a "blind write" of a block that
>> is unrelated to our database or tables.  For normal SQL-driven accesses,
>> there's a relcache entry, and flushing of that entry will lead to
>> closure of associated files.  I wonder whether we should go back to
>> forcibly closing the FD after a blind write.  This would suck if a
>> backend had to do many dirty-buffer flushes for the same relation,
>> but hopefully the bgwriter is doing most of those.  We'd want to make
>> sure such forced closure *doesn't* occur in the bgwriter.  (If memory
>> serves, it has a checkpoint-driven closure mechanism instead.)

> Instead of closing them immediately, how about flagging the FD and
> closing all the flagged FDs at the end of each query, or something
> like that?

Hmm, there's already a mechanism for closing "temp" FDs at the end of a
query ... maybe blind writes could use temp-like FDs?

                        regards, tom lane

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