We use JDBC to export data into csv ,then copy that to Postgres. Multiple 
sessions working on multiple tables.  If not set unlogged , how to make COPY 
run fast ?   possible to start a transaction include all of these  “truncate 
table xxx; copy table xxxx; create index on tables….”  With wal_level=minimal, 
is it ok to make copy and create index  without logging ?

James

From: Jim Mlodgenski <jimm...@gmail.com>
Sent: Tuesday, July 26, 2022 8:53 PM
To: James Pang (chaolpan) <chaol...@cisco.com>
Cc: Tom Lane <t...@sss.pgh.pa.us>; pgsql-performance@lists.postgresql.org
Subject: Re: alter table xxx set unlogged take long time



On Tue, Jul 26, 2022 at 8:45 AM James Pang (chaolpan) 
<chaol...@cisco.com<mailto:chaol...@cisco.com>> wrote:
Without step 3 ,  copy data take long time.   Use wal_level=minimal can help 
make COPY load data without logging ?

I assume that you're most concerned with the total time of moving the data from 
the source database into the final table so you might get a big win by not 
moving the data twice and directly load the table through a Foregin Data 
Wrapper and avoid the csv export/import. Something like the oracle_fdw might 
help here:
https://github.com/laurenz/oracle_fdw

-----Original Message-----
From: Tom Lane <t...@sss.pgh.pa.us<mailto:t...@sss.pgh.pa.us>>
Sent: Tuesday, July 26, 2022 8:43 PM
To: James Pang (chaolpan) <chaol...@cisco.com<mailto:chaol...@cisco.com>>
Cc: Jim Mlodgenski <jimm...@gmail.com<mailto:jimm...@gmail.com>>; 
pgsql-performance@lists.postgresql.org<mailto:pgsql-performance@lists.postgresql.org>
Subject: Re: alter table xxx set unlogged take long time

"James Pang (chaolpan)" <chaol...@cisco.com<mailto:chaol...@cisco.com>> writes:
> How to make it fast ?  These are our steps about copy large data from Oracle 
> to Postgres
>   1.  Create table in Postgres  2. Extract data from Oracle to CSV  3. Alter 
> table set xxx unlogged,   4. Run copy command into Postgres db  5. Alter 
> table set xxx logged  6. Create index …

The easy answer is to skip steps 3 and 5.

                        regards, tom lane

Reply via email to