I believe you should be able to use reindexdb with parallel jobs:
https://www.postgresql.org/docs/13/app-reindexdb.html
It will still create multiple connections, but you won't need to run
multiple commands.

чт, 16 черв. 2022 р. о 22:34 James Pang (chaolpan) <chaol...@cisco.com>
пише:

> 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 …
>
> Reindex on Postgres 13.6 not support parallel ,right?  So we need to start
> multiple session to reindex  multiple tables/indexes in parallel.
>
>
>
>
>
> 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.
>
>
>
>
>
>
>
> Thanks,
>
>
>
> James
>
>
>
>
>

Reply via email to