SV: Possibilities for optimizing inserts across oracle_fdw foreign data wrapper - Mailing list pgsql-general

From Niels Jespersen
Subject SV: Possibilities for optimizing inserts across oracle_fdw foreign data wrapper
Date
Msg-id 46197a3a49a140af99ef5753934c569d@dst.dk
Whole thread Raw
In response to Re: Possibilities for optimizing inserts across oracle_fdw foreign data wrapper  (Laurenz Albe <laurenz.albe@cybertec.at>)
List pgsql-general
-----Oprindelig meddelelse-----
>Fra: Laurenz Albe <laurenz.albe@cybertec.at> 
>Sendt: 20. september 2021 15:18
>Til: Niels Jespersen <NJN@dst.dk>; pgsql-general@postgresql.org
>Emne: Re: Possibilities for optimizing inserts across oracle_fdw foreign data wrapper
>
>On Sun, 2021-09-19 at 10:28 +0000, Niels Jespersen wrote:
>> We are often using the oracle_fdw to transfer data between Postgres (version 11+) and Oracle (version 18+). It works
great.
>>  
>> However I have a task at hand that requires inserting a few billion rows in an Oracle table from a Postgres query.
>> If I could make the Oracle insert direct load, that would usually also increase throughput.
> But, is that possible here. There are no constraints defined on the destinaton tables.
>
>The cause of the bad performance for bulk data modifications is that the FDW API is built that way: each row INSERTed
meansa round trip between PostgreSQL and Oracle.
 
>
>That could be improved by collecting rows and inserting them in bulk on the Oracle side, but I don't feel like
implementingthat and complicating the code.>
 
>
>From my point of view, oracle_fdw is good for reading, but not for bulk writes.
>
>Yours,
>Laurenz Albe

Thank you for clairifying. I will use a python script for doing this, then. Read large chunks of data from Postgres and
insertequally large chunks into Oracle, possibly using direct load. I know this can work. 
 

Regards Niels

pgsql-general by date:

Previous
From: Tim Uckun
Date:
Subject: Timestamp with vs without time zone.
Next
From: Laurenz Albe
Date:
Subject: Re: Timestamp with vs without time zone.