Thread: pgsql: Improve bulk-insert performance by keeping the current target
pgsql: Improve bulk-insert performance by keeping the current target
From
tgl@postgresql.org (Tom Lane)
Date:
Log Message: ----------- 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'. Modified Files: -------------- pgsql/src/backend/access/heap: heapam.c (r1.268 -> r1.269) (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/heap/heapam.c?r1=1.268&r2=1.269) hio.c (r1.73 -> r1.74) (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/heap/hio.c?r1=1.73&r2=1.74) rewriteheap.c (r1.15 -> r1.16) (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/heap/rewriteheap.c?r1=1.15&r2=1.16) tuptoaster.c (r1.90 -> r1.91) (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/heap/tuptoaster.c?r1=1.90&r2=1.91) pgsql/src/backend/commands: copy.c (r1.300 -> r1.301) (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/copy.c?r1=1.300&r2=1.301) pgsql/src/backend/executor: execMain.c (r1.314 -> r1.315) (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/executor/execMain.c?r1=1.314&r2=1.315) pgsql/src/backend/storage/buffer: README (r1.14 -> r1.15) (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/storage/buffer/README?r1=1.14&r2=1.15) freelist.c (r1.64 -> r1.65) (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/storage/buffer/freelist.c?r1=1.64&r2=1.65) pgsql/src/include/access: heapam.h (r1.139 -> r1.140) (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/access/heapam.h?r1=1.139&r2=1.140) hio.h (r1.36 -> r1.37) (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/access/hio.h?r1=1.36&r2=1.37) tuptoaster.h (r1.41 -> r1.42) (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/access/tuptoaster.h?r1=1.41&r2=1.42) pgsql/src/include/storage: bufmgr.h (r1.116 -> r1.117) (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/storage/bufmgr.h?r1=1.116&r2=1.117)