Re: select a list of column values directly into an array

From: Merlin Moncure <mmoncure(at)gmail(dot)com>
To: Derrick Rice <derrick(dot)rice(at)gmail(dot)com>
Cc: "pgsql-general(at)postgresql(dot)org" <pgsql-general(at)postgresql(dot)org>
Subject: Re: select a list of column values directly into an array
Date: 2010-07-30 15:50:03
Message-ID: AANLkTi=dua5s9vgXDJX70DPwJo+q09B8U1D8uDp6Z3i2@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Fri, Jul 30, 2010 at 10:34 AM, Derrick Rice <derrick(dot)rice(at)gmail(dot)com> wrote:
> Is it possible to use the ARRAY(select ...) syntax as a substitute for
> array_agg on versions of postgresql that don't have it? (8.2)  It works
> simply enough when only selecting a single column, but if I need to group by
> some other column, I'm not clear how I'd go about doing that.
>
> For example, write the following in ARRAY(select...) form.

yup...we've had array() for ages (I think -- see below).

now, you've always been able to do array aggregation in userland --
it's been in the docs as example since I can remember (see here:
http://www.postgresql.org/docs/8.2/static/xaggr.html)

The old school array_accum however is much slower than the newer
array_agg. (which in turn is just a tiny bit slower than array()
discounting grouping effects). So you _definitely_ want to use
array() if you don't require aggregate grouping features in older
postgres versions.

hm. I looked for the documentation for array(select...) to figure out
exactly when it was introduced, couldn't find it. Anyone know
if/where this is documented?

merlin

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Scott Frankel 2010-07-30 15:57:11 Re: PQescapeStringConn
Previous Message Brad Nicholson 2010-07-30 15:10:01 Re: idle process & autovacuum