So the issue is building the index(s) not loading the data, correct?
Correct.
Since I have been exploring this, I have not been able to successfully create a gin jsonb_path_ops index on a jsonb field either as a new index on a table with existing data, or as a pre-existing index on an empty table and loading the data in.
The create index does not finish on the existing data, and loading data does not finish when the index pre-exists.
We currently have a 68M row table loaded in an Aurora instance on AWS (I do not know the instance/machine size), and the index has been building for 48 hours now.
The pg_restore is currently working on that index:
CREATE INDEX eis_ent_traits
ON public.eis_entity
USING gin
(traits jsonb_path_ops);