Re: Oracle to Postgres migration

From: Thomas Kellerer <spam_eater(at)gmx(dot)net>
To: pgsql-admin(at)lists(dot)postgresql(dot)org
Subject: Re: Oracle to Postgres migration
Date: 2023-12-22 12:25:22
Message-ID: d29456e3-f143-ba36-c4c3-cfe025a7bdc7@gmx.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin

bimal maity schrieb am 20.12.2023 um 04:35:
> Hi,
>
> I have below query used in Oracle but while migrating to Postgres this code is not supported in Postgres.
> Could you please tell me how to resolve this?
>
> SELECT p.id_po, p.line_number, replace(replace(replace(RTRIM(XMLAGG(XMLELEMENT(name C, regexp_replace(p.protocol_number,'([[:cntrl:]])','', 'g'))ORDER BY 1), ',' ) ,'</C><C>','/'),'<C>',''),'</C>','') AS protocol_number
>                         ,replace(replace(replace(RTRIM(XMLAGG(XMLELEMENT(name C, regexp_replace(p.protocol_status,'([[:cntrl:]])','', 'g'))ORDER BY 1), ',' ) ,'</C><C>','/'),'<C>',''),'</C>','') AS protocol_status
>                         ,replace(replace(replace(RTRIM(XMLAGG(XMLELEMENT(name C, regexp_replace(p.protocol_approver,'([[:cntrl:]])','', 'g'))ORDER BY 1), ',' ) ,'</C><C>','/'),'<C>',''),'</C>','') AS protocol_approver
>                         ,max(p.protocol_date) AS protocol_date
>                         ,replace(replace(replace(RTRIM(XMLAGG(XMLELEMENT(name C, regexp_replace(p.protocol_nota,'([[:cntrl:]])','', 'g'))ORDER BY 1), ',' ) ,'</C><C>','/'),'<C>',''),'</C>','') AS protocol_nota
>                         ,sum(coalesce(p.protocol_value,0)) protocol_value
>                 FROM podl_extended_protocol p
>                 where upper(p.protocol_status) not in ('REJEITADO','ELIMINADO')
>                          group by p.id_po, p.line_number

What exactly does it do? I have often seen the hack using xmlagg/xmlelement/regexp_replace to do some kind of poor man's unnest/string_agg.

If you tell us, what exactly the goal is, I am confident there is a better solution in Postgres.

In response to

Browse pgsql-admin by date

  From Date Subject
Next Message Md. Ezhar Ansari 2023-12-22 14:20:22 Inquiry Regarding PostgreSQL Index Size - Seeking Community Insights
Previous Message tayyab.humayl 2023-12-22 11:20:32 RE: Error: Package: postgresql13-devel-13.13-1PGDG.rhel7.x86_64