Re: VACUUM always makes all pages dirty

Поиск
Список
Период
Сортировка
От Pavan Deolasee
Тема Re: VACUUM always makes all pages dirty
Дата
Msg-id 2e78013d0710240145x48dd4be2ydcf6430a80593a7a@mail.gmail.com
обсуждение исходный текст
Ответ на Re: VACUUM always makes all pages dirty  (Heikki Linnakangas <heikki@enterprisedb.com>)
Ответы Re: VACUUM always makes all pages dirty  ("Pavan Deolasee" <pavan.deolasee@gmail.com>)
Список pgsql-hackers


On 10/24/07, Heikki Linnakangas <heikki@enterprisedb.com> wrote:

Yeah, it's definitely a HOT-introdued thing. Vacuum calls
heap_page_prune on every page, and this in heap_page_prune is dirtying
the buffer:

>       else
>       {
>               /*
>                * If we didn't prune anything, we have nonetheless updated the
>                * pd_prune_xid field; treat this as a non-WAL-logged hint.
>                */
>               SetBufferCommitInfoNeedsSave(buffer);
>       }

I don't have time to dig deeper at this moment. I'll take a look later
today, unless someone beats me to it. We obviously don't want to call
SetBufferCommitInfoNeedsSave if we didn't really change the pd_prune_xid
field.


I am looking at it. We must not call SetBufferCommitInfoNeedsSave unless
we make any state changes to the page.

Thanks,
Pavan


--
Pavan Deolasee
EnterpriseDB     http://www.enterprisedb.com

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

Предыдущее
От: Heikki Linnakangas
Дата:
Сообщение: Re: VACUUM always makes all pages dirty
Следующее
От: "Matthew Alton"
Дата:
Сообщение: Built PostgreSQL 8.3 BETA on FreeBSD/SPARC64