aboutsummaryrefslogtreecommitdiff
path: root/src/tutorial/syscat.source
diff options
context:
space:
mode:
authorMelanie Plageman <melanieplageman@gmail.com>2025-03-21 09:07:33 -0400
committerMelanie Plageman <melanieplageman@gmail.com>2025-03-21 09:09:39 -0400
commitc5c239e26e3876c05b3a2c5e8989817fd38ceed1 (patch)
tree868eeae8b771dab5e4cda77f472fe35b8b858b0d /src/tutorial/syscat.source
parent1d617a20284f887cb9cdfe5693eec155e8016517 (diff)
downloadpostgresql-c5c239e26e3876c05b3a2c5e8989817fd38ceed1.tar.gz
postgresql-c5c239e26e3876c05b3a2c5e8989817fd38ceed1.zip
Use streaming read I/O in btree vacuuming
Btree vacuum processes all index pages in physical order. Now it uses the read stream API to get the next buffer instead of explicitly invoking ReadBuffer(). It is possible for concurrent insertions to cause page splits during index vacuuming. This can lead to index entries that have yet to be vacuumed being moved to pages that have already been vacuumed. Btree vacuum code handles this by backtracking to reprocess those pages. So, while sequentially encountered pages are now read through the read stream API, backtracked pages are still read with explicit ReadBuffer() calls. Author: Andrey Borodin <x4mmm@yandex-team.ru> Reviewed-by: Melanie Plageman <melanieplageman@gmail.com> Reviewed-by: Junwang Zhao <zhjwpku@gmail.com> Reviewed-by: Kirill Reshke <reshkekirill@gmail.com> Discussion: https://postgr.es/m/flat/CAAKRu_bW1UOyup%3DjdFw%2BkOF9bCaAm%3D9UpiyZtbPMn8n_vnP%2Big%40mail.gmail.com#3b3a84132fc683b3ee5b40bc4c2ea2a5
Diffstat (limited to 'src/tutorial/syscat.source')
0 files changed, 0 insertions, 0 deletions