Re: Where's the doc for "array()" — as in "select array(values (17), (42))" - Mailing list pgsql-general

From Adrian Klaver
Subject Re: Where's the doc for "array()" — as in "select array(values (17), (42))"
Date
Msg-id 45f7be19-f07d-2b34-f851-1b90c9b80ed6@aklaver.com
Whole thread Raw
In response to Where's the doc for "array()" — as in "select array(values (17), (42))"  (Bryn Llewellyn <bryn@yugabyte.com>)
List pgsql-general
On 9/18/22 13:25, Bryn Llewellyn wrote:
> I noticed that "array()" is used in the query that implements the "\du" 
> psql meta-command. It has some similarity with "array_agg()" thus:
> 
> create temporary view x(v) as (values (17), (42));
> select array_agg(v) from x;
> select array(select v from x);
> 
> But there are differences. The "array()" function requires that its 
> argument is a subquery that returns a single column. (Its data type can 
> be composite.) But the "array_agg()" function's argument must be the 
> select list in the larger context of a select statement—and in general 
> together with "group by".
> 

Lack of an explicit GROUP BY falls through to an implied one:

https://www.postgresql.org/docs/current/sql-select.html#SQL-GROUPBY

"If there are aggregate functions but no GROUP BY clause, the query is 
treated as having a single group comprising all the selected rows."


-- 
Adrian Klaver
adrian.klaver@aklaver.com



pgsql-general by date:

Previous
From: Adrian Klaver
Date:
Subject: Re: Where's the doc for "array()" — as in "select array(values (17), (42))"
Next
From: "David G. Johnston"
Date:
Subject: Re: Where's the doc for "array()" — as in "select array(values (17), (42))"