Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit674e49c

Browse files
committed
Set all_visible_according_to_vm correctly with DISABLE_PAGE_SKIPPING
It's important for 'all_visible_according_to_vm' to correctly reflectwhether the VM bit is set or not, even when we are not trusting the VMto skip pages, because contrary to what the comment said,lazy_scan_prune() relies on it.If it's incorrectly set to 'false', when the VM bit is in fact set,lazy_scan_prune() will try to set the VM bit again and dirty the pageunnecessarily. As a result, if you used DISABLE_PAGE_SKIPPING, allheap pages were dirtied, even if there were no changes. We would alsofail to clear any VM bits that were set incorrectly.This was broken in commit980ae17, so backpatch to v16.Backpatch-through: 16Reviewed-by: Melanie Plageman, Peter GeogheganDiscussion:https://www.postgresql.org/message-id/3df2b582-dc1c-46b6-99b6-38eddd1b2784@iki.fi
1 parentaf0e7de commit674e49c

File tree

1 file changed

+0
-4
lines changed

1 file changed

+0
-4
lines changed

‎src/backend/access/heap/vacuumlazy.c

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1136,11 +1136,7 @@ lazy_scan_skip(LVRelState *vacrel, Buffer *vmbuffer, BlockNumber next_block,
11361136

11371137
/* DISABLE_PAGE_SKIPPING makes all skipping unsafe */
11381138
if (!vacrel->skipwithvm)
1139-
{
1140-
/* Caller shouldn't rely on all_visible_according_to_vm */
1141-
*next_unskippable_allvis= false;
11421139
break;
1143-
}
11441140

11451141
/*
11461142
* Aggressive VACUUM caller can't skip pages just because they are

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp