Re: Avoiding unnecessary reads in recovery

Поиск
Список
Период
Сортировка
От Alvaro Herrera
Тема Re: Avoiding unnecessary reads in recovery
Дата
Msg-id 20070427140543.GI4645@alvh.no-ip.org
обсуждение исходный текст
Ответ на Re: Avoiding unnecessary reads in recovery  (Heikki Linnakangas <heikki@enterprisedb.com>)
Список pgsql-hackers
Heikki Linnakangas wrote:
> Alvaro Herrera wrote:
> >Heikki Linnakangas wrote:
> >
> >>What we could have is the semantics of "Return a buffer, with either 
> >>correct contents or completely zeroed out". It would act just like 
> >>ReadBuffer if the buffer was already in memory, and zero out the page 
> >>otherwise. That's a bit strange semantics to have, but is simple to 
> >>implement and works for the use-cases we've been talking about.
> >
> >Huh, why does that work in the case where the recovery code reads a
> >page, then evicts it because of memory pressure, and later needs to read
> >it again?
> 
> I don't understand the problem. You only use ReadOrZeroBuffer when 
> you're going to replace the contents entirely, and don't care about the 
> old contents. If you want to read something in, you use ReadBuffer.

Oh, the recovery code selects which one to call based on the "init"
param, which is on the first hunk of the diff :-)  I forgot that, I was
just thinking in your description above.

-- 
Alvaro Herrera                                http://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc.


В списке pgsql-hackers по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: [Fwd: PGBuildfarm member narwhal Branch HEAD Status changed from OK to InstallCheck failure]
Следующее
От: Bruce Momjian
Дата:
Сообщение: Re: Feature freeze progress report