postgres scan has internal 1000 element chunking
add test that inserting 9042 rows comes back correctly under various scan() ops
postgres scan of too large a set of data would try to provide consistency guarantees we don't need that were slowing down the system.
If you SELECT a million rows, it will give point-in-time consistency for all million rows, preserving a snapshot while you query.
In a busy system this causes a lot of overhead. So, the default postgres scan now does chunks of 1000. (An initial guess at tuning which seems to return results quickly and not turn a scan into too many tiny little overhead-swamped operations.)