From: | Andrey Borodin <x4mmm(at)yandex-team(dot)ru> |
---|---|
To: | Heikki Linnakangas <hlinnaka(at)iki(dot)fi> |
Cc: | Michael Paquier <michael(at)paquier(dot)xyz>, Thomas Munro <thomas(dot)munro(at)enterprisedb(dot)com>, Robert Haas <robertmhaas(at)gmail(dot)com>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>, Костя Кузнецов <chapaev28(at)ya(dot)ru> |
Subject: | Re: GiST VACUUM |
Date: | 2019-03-24 16:50:41 |
Message-ID: | 835A15A5-F1B4-4446-A711-BF48357EB602@yandex-team.ru |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
> 22 марта 2019 г., в 17:03, Heikki Linnakangas <hlinnaka(at)iki(dot)fi> написал(а):
>
I was working on new version of gist check in amcheck and understand one more thing:
/* Can this page be recycled yet? */
bool
gistPageRecyclable(Page page)
{
return PageIsNew(page) ||
(GistPageIsDeleted(page) &&
TransactionIdPrecedes(GistPageGetDeleteXid(page), RecentGlobalXmin));
}
Here RecentGlobalXmin can wraparound and page will become unrecyclable for half of xid cycle. Can we prevent it by resetting PageDeleteXid to InvalidTransactionId before doing RecordFreeIndexPage()?
(Seems like same applies to GIN...)
Best regards, Andrey Borodin.
From | Date | Subject | |
---|---|---|---|
Next Message | Tattsu Yama | 2019-03-24 16:55:18 | Re: [HACKERS] CLUSTER command progress monitor |
Previous Message | Andres Freund | 2019-03-24 16:44:58 | Re: jsonpath |