Re: Parallel Aggregation support for aggregate functions that use transitions not implemented for array_agg

From: Andres Freund <andres(at)anarazel(dot)de>
To: Peter Eisentraut <peter(dot)eisentraut(at)2ndquadrant(dot)com>
Cc: Regina Obe <lr(at)pcorp(dot)us>, 'PostgreSQL-development' <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Parallel Aggregation support for aggregate functions that use transitions not implemented for array_agg
Date: 2017-06-07 03:48:33
Message-ID: 20170607034833.a2qno3eh4cuyjm2i@alap3.anarazel.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 2017-06-06 23:32:53 -0400, Peter Eisentraut wrote:
> On 6/6/17 13:52, Regina Obe wrote:
> > It seems CREATE AGGREGATE was expanded in 9.6 to support parallelization of
> > aggregate functions using transitions, with the addition of serialfunc and
> > deserialfunc to the aggregate definitions.
> >
> > https://www.postgresql.org/docs/10/static/sql-createaggregate.html
> >
> > I was looking at the PostgreSQL 10 source code for some example usages of
> > this and was hoping that array_agg and string_agg would support the feature.
>
> I'm not sure how you would parallelize these, since in most uses you
> want to have a deterministic output order.

Unless you specify ORDER BY you don't really have that anyway, consider
hash-aggregation. If you want deterministic order, you really need an
ORDER BY inside the aggregate.

- Andres

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Regina Obe 2017-06-07 03:52:08 Re: Parallel Aggregation support for aggregate functions that use transitions not implemented for array_agg
Previous Message Tsunakawa, Takayuki 2017-06-07 03:45:23 Re: Is ECPG's SET CONNECTION really not thread-aware?