On Thu, Sep 15, 2016 at 9:59 AM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> Possibly we ought to change things so that the default value of
> min_parallel_relation_size is a fixed number of bytes rather
> than a fixed number of blocks. Not sure though.
The reason why this was originally reckoned in blocks is because the
data is divided between the workers on the basis of a block number.
In the degenerate case where blocks < workers, the extra workers will
get no blocks at all, and thus no rows at all. It seemed best to
insist that the relation had a reasonable number of blocks so that we
could hope for a reasonably even distribution of work among a pool of
workers. I'm not altogether sure that's the right way of thinking
about this problem but I'm not sure it's wrong, either; anyway, it's
as far as my thought process had progressed at the time I wrote the
code.
--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company