diff options
Diffstat (limited to 'src/backend/storage/buffer/bufmgr.c')
-rw-r--r-- | src/backend/storage/buffer/bufmgr.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/backend/storage/buffer/bufmgr.c b/src/backend/storage/buffer/bufmgr.c index 6a18e334809..f9681d09e1e 100644 --- a/src/backend/storage/buffer/bufmgr.c +++ b/src/backend/storage/buffer/bufmgr.c @@ -5100,7 +5100,13 @@ RelationCopyStorageUsingBuffer(RelFileLocator srclocator, p.current_blocknum = 0; p.last_exclusive = nblocks; src_smgr = smgropen(srclocator, INVALID_PROC_NUMBER); - src_stream = read_stream_begin_smgr_relation(READ_STREAM_FULL, + + /* + * It is safe to use batchmode as block_range_read_stream_cb takes no + * locks. + */ + src_stream = read_stream_begin_smgr_relation(READ_STREAM_FULL | + READ_STREAM_USE_BATCHING, bstrategy_src, src_smgr, permanent ? RELPERSISTENCE_PERMANENT : RELPERSISTENCE_UNLOGGED, |