Re: GiST VACUUM
Heikki Linnakangas <hlinnaka@iki.fi>
From: Heikki Linnakangas <hlinnaka@iki.fi>
To: Andrey Borodin <x4mmm@yandex-team.ru>
Cc: Robert Haas <robertmhaas@gmail.com>, Thomas Munro <thomas.munro@enterprisedb.com>, pgsql-hackers <pgsql-hackers@postgresql.org>, Костя Кузнецов <chapaev28@ya.ru>
Date: 2018-07-19T11:20:51Z
Lists: pgsql-hackers
On 19/07/18 13:52, Andrey Borodin wrote:
> Hi!
>
>> 19 июля 2018 г., в 1:12, Heikki Linnakangas <hlinnaka@iki.fi>
>> написал(а):
>>
>> Yeah, please, I think this is the way to go.
>
> Here's v11 divided into proposed steps.
Thanks, one quick question:
> /* We should not unlock buffer if we are going to jump left */
> if (needScan)
> {
> GistBDItem *ptr = (GistBDItem *) palloc(sizeof(GistBDItem));
> ptr->buffer = buffer;
> ptr->next = bufferStack;
> bufferStack = ptr;
> }
> else
> UnlockReleaseBuffer(buffer);
Why? I don't see any need to keep the page locked, when we "jump left".
- Heikki
Commits
-
Use full 64-bit XID for checking if a deleted GiST page is old enough.
- fb5344c969af 12.0 landed
- 6655a7299d83 13.0 landed
-
Refactor checks for deleted GiST pages.
- e2e992c93145 12.0 landed
- 9eb5607e6993 13.0 landed
-
Delete empty pages during GiST VACUUM.
- 7df159a620b7 12.0 landed
-
Scan GiST indexes in physical order during VACUUM.
- fe280694d0d4 12.0 landed
-
Prevent GIN deleted pages from being reclaimed too early
- 52ac6cd2d0cd 12.0 cited