Re: LISTAGG à la Oracle in PostgreSQL - Mailing list pgsql-general

From pierre.forstmann@gmail.com
Subject Re: LISTAGG à la Oracle in PostgreSQL
Date
Msg-id f73eca88-0396-44b6-b476-f6a288eac435@gmail.com
Whole thread Raw
In response to Re: LISTAGG à la Oracle in PostgreSQL  (Pavel Stehule <pavel.stehule@gmail.com>)
List pgsql-general
Thanks.

On 10/03/2026 22:46, Pavel Stehule <pavel.stehule@gmail.com> wrote:
> 
> 
> út 10. 3. 2026 v 21:23 odesílatel Pavel Stehule <pavel.stehule@gmail.com 
> <mailto:pavel.stehule@gmail.com>> napsal:
> 
>     Hi
> 
>     út 10. 3. 2026 v 20:58 odesílatel Juan Rodrigo Alejandro Burgos
>     Mella <rodrigoburgosmella@gmail.com
>     <mailto:rodrigoburgosmella@gmail.com>> napsal:
> 
>         To do something similar, you would have to fork the source code
>         and implement the declarations with the same syntax, resulting
>         in something like Postracle.
> 
> 
>     orafce has listagg function https://github.com/orafce/orafce
>     <https://github.com/orafce/orafce>
> 
> 
> but it doesn't support syntax WITHING GROUP syntax. Probably there is 
> not a possibility to implement it in extension without introducing a new 
> kind of aggregate functions in core, or enhancing behaviour of ordered- 
> set kind of aggregates.
> 
> Regards
> 
> Pavel
> 
> 
> 
> 
> 
>     Regards
> 
>     Pavel
> 
> 
>         Atte
>         JRBM
> 
>         El mar, 10 mar 2026 a las 13:53, Pierre Forstmann
>         (<pierre.forstmann@gmail.com
>         <mailto:pierre.forstmann@gmail.com>>) escribió:
> 
>             I agree but I just would like to know if there is way to be
>             compatible
>             with Oracle syntax using aggregate features in PostgreSQL
> 
>             Thanks.
> 
>             Le 09/03/2026 à 23:05, Paul A Jungwirth a écrit :
>              > On Mon, Mar 9, 2026 at 1:21 PM Pierre Forstmann
>              > <pierre.forstmann@gmail.com
>             <mailto:pierre.forstmann@gmail.com>> wrote:
>              >> Hello,
>              >>
>              >> I can write a LISTAGG aggregate for:
>              >>
>              >> create table emp(deptno numeric, ename text);
>              >>
>              >> SELECT deptno, LISTAGG(ename, ','::text ORDER BY ename)
>             AS employees
>              >> FROM   emp GROUP BY deptno ORDER BY deptno;
>              >>
>              >> I would like to know if is possible to create an
>             aggregate LISTAGG that
>              >> would work like in Oracle:
>              >>
>              >> SELECT deptno,
>              >>          listagg(ename, ',') WITHIN GROUP (ORDER BY
>             ename) AS employees
>              >> FROM emp
>              >> GROUP BY deptno
>              >> ORDER BY deptno;
>              > I don't think you need a custom aggregate here. In
>             Postgres you can say:
>              >
>              > select deptno,
>              >        string_agg(ename, ',' ORDER BY ename) AS employees
>              > FROM emp
>              > GROUP BY deptno
>              > ORDER BY deptno;
>              >
> 
> 
> 



pgsql-general by date:

Previous
From: pierre.forstmann@gmail.com
Date:
Subject: Re: LISTAGG à la Oracle in PostgreSQL