Re: Dead Space Map - Mailing list pgsql-hackers

From Tom Lane
Subject Re: Dead Space Map
Date
Msg-id 15554.1141143387@sss.pgh.pa.us
Whole thread Raw
In response to Re: Dead Space Map  (Hannu Krosing <hannu@skype.net>)
List pgsql-hackers
Hannu Krosing <hannu@skype.net> writes:
> Ühel kenal päeval, T, 2006-02-28 kell 10:26, kirjutas Tom Lane:
>> The current bgwriter is incapable of looking at catalog contents as
>> such --- it operates only at the level of physical data blocks.

> Would'nt it still be possible to drop a table from below bgwriter ?

The mechanism that handles that is that smgr.c calls
DropRelFileNodeBuffers before physically unlinking the file.
Hence, by the time the unlink happens, there is not any buffer
that the bgwriter might be trying to write into it.

Processes that might try to read in new pages must hold some kind
of lock on the relation the page belongs to, hence they must be
running a transaction.  Otherwise there would be a race condition here.
(The process executing the DROP TABLE must hold exclusive lock on the
table, thereby guaranteeing that there is no one trying to read in
new pages from it.)
        regards, tom lane


pgsql-hackers by date:

Previous
From: Martijn van Oosterhout
Date:
Subject: Re: character encoding in StartupMessage
Next
From: Tom Lane
Date:
Subject: Re: character encoding in StartupMessage