Improve bulk-insert performance by keeping the current target buffer pinned
authorTom Lane <tgl@sss.pgh.pa.us>
Thu, 6 Nov 2008 20:51:15 +0000 (20:51 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Thu, 6 Nov 2008 20:51:15 +0000 (20:51 +0000)
commit73c782d769cd052976ed0a797e46ef5435ac5c65
tree63c865e03bf366685b74e149f134e8a8bba5b103
parent9d4c2c2f7cf50c69426f16518fd35e25b401688e
Improve bulk-insert performance by keeping the current target buffer pinned
(but not locked, as that would risk deadlocks).  Also, make it work in a small
ring of buffers to avoid having bulk inserts trash the whole buffer arena.

Robert Haas, after an idea of Simon Riggs'.
12 files changed:
src/backend/access/heap/heapam.c
src/backend/access/heap/hio.c
src/backend/access/heap/rewriteheap.c
src/backend/access/heap/tuptoaster.c
src/backend/commands/copy.c
src/backend/executor/execMain.c
src/backend/storage/buffer/README
src/backend/storage/buffer/freelist.c
src/include/access/heapam.h
src/include/access/hio.h
src/include/access/tuptoaster.h
src/include/storage/bufmgr.h