Re: reindex option for tuning load large data

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





On Fri, Jun 17, 2022 at 1:34 AM James Pang (chaolpan) <chaolpan@xxxxxxxxx> wrote:

Hi ,

  We plan to migrate large database from Oracle to Postgres(version 13.6, OS Redhat8 Enterprise), we are checking options to make data load in Postgres fast. Data volume is about several TB,  thousands of indexes,  many large table with partitions.  We want to make data load running fast and avoid miss any indexes when reindexing. There are 2 options about reindex. Could you give some suggestions about the 2 options, which option is better.

 

  1. Create tables and indexes( empty database) ,   update pg_index set indisready=false and inisvalid=false,  then  load data use COPY from csv ,  then reindex table …

Where did this idea come from?  This is likely to destroy your database.
 

2).  Use pg_dump to dump meta data only , then copy “CREATE INDEX … sql “

        Drop indexes before data load

       After data load, increase max_parallel_maintenance_workers, maintenance_work_mem

       Run CREATE INDEX … sql  to leverage parallel create index feature.


pg_dump doesn't run against Oracle, so where is the thing you are running pg_dump against coming from? 

If you already have a fleshed out schema in PostgreSQL, you should dump the sections separately (with --section=pre-data and --section=post-data) to get the commands to build the objects which should be run before and after the data is loaded.

Cheers,

Jeff

[Postgresql General]     [Postgresql PHP]     [PHP Users]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Yosemite]

  Powered by Linux