Skip to content

Commit 35bc0ec

Browse files
Note case where nbtree VACUUM finishes splits.
The nbtree README claims that VACUUM can never finish interrupted page splits by design. That isn't entirely accurate, though. Note an exception to the general rule. Discussion: https://postgr.es/m/CAH2-Wz=_Xvv8byzK_LvY4ci76OgsHCQzoKF7We8yG9waO7j6rA@mail.gmail.com
1 parent 1638623 commit 35bc0ec

File tree

1 file changed

+4
-1
lines changed
  • src/backend/access/nbtree

1 file changed

+4
-1
lines changed

src/backend/access/nbtree/README

+4-1
Original file line numberDiff line numberDiff line change
@@ -476,7 +476,10 @@ inserting a downlink might require splitting a page, it might fail if you
476476
run out of disk space. That would be bad during VACUUM - the reason for
477477
running VACUUM in the first place might be that you run out of disk space,
478478
and now VACUUM won't finish because you're out of disk space. In contrast,
479-
an insertion can require enlarging the physical file anyway.
479+
an insertion can require enlarging the physical file anyway. There is one
480+
minor exception: VACUUM finishes interrupted splits of internal pages when
481+
deleting their children. This allows the code for re-finding parent items
482+
to be used by both page splits and page deletion.
480483

481484
To identify missing downlinks, when a page is split, the left page is
482485
flagged to indicate that the split is not yet complete (INCOMPLETE_SPLIT).

0 commit comments

Comments
 (0)