Guillaume,
which shows the index on primary keys is used, but is always read from disk.
or, more likely, from the FS cache.
But, the clock time used for the request is actually identical when using -B 1000 or -B 20000. I suppose the kernel is bringing the performance difference thanks to filesystem caching.
Yes. The only way you'd see a differeence is on a mixed load of concurrent read & write queries. Any single-query test is unlikely to show a difference between using the FS cache and shared_buffers.
--Josh