On Fri, Jul 30, 2010 at 11:50 AM, Merlin Moncure <mmoncure@xxxxxxxxx> wrote: > On Fri, Jul 30, 2010 at 10:34 AM, Derrick Rice <derrick.rice@xxxxxxxxx> 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? I found it -- array() syntax is documented in array_constructor portion of syntax.sgml. It's been in postgres at least since 7.4, which is as far back as I checked. http://www.postgresql.org/docs/8.2/interactive/sql-expressions.html#SQL-SYNTAX-ARRAY-CONSTRUCTORS merlin -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general