Today, on irc, someone asked interesting question. Basically she ran a query like: select a, b, c, d, e, f from table order by a then, she processed the query to get, for each a array of unique values of b, c, d, ...

On 18th of December, Teodor Sigaev committed patch: Allow to omit boundaries in array subscript Allow to omiy lower or upper or both boundaries in array subscript for selecting slice of array. Author: YUriy Zhuravlev

On 25th of November, Tom Lane committed patch: Support arrays as input to array_agg() and ARRAY(SELECT ...). These cases formerly failed with errors about "could not find array type for data type". Now they yield arrays of the same element type and ...

On 22nd of November, Tom Lane committed patch: Support multi-argument UNNEST(), and TABLE() syntax for multiple functions. This patch adds the ability to write TABLE( function1(), function2(), ...) as a single FROM-clause entry. The result is the concatenation of the first row from ...

On 11th of July, Tom Lane committed patch: Add array_remove() and array_replace() functions. master These functions support removing or replacing array element value(s) matching a given search value. Although intended mainly to support a future array-foreign-key feature, they seem useful in their ...

On 18th of February, Alvaro Herrera committed patch: Convert Postgres arrays to Perl arrays on PL/perl input arguments   More generally, arrays are turned in Perl array references, and row and composite types are turned into Perl hash references. This is done recursively, in ...

On 16th of February, Tom Lane committed patch: Add FOREACH IN ARRAY looping to plpgsql.   (I'm not entirely sure that we've finished bikeshedding the syntax details, but the functionality seems OK.)   Pavel Stehule, reviewed by Stephen Frost and Tom Lane