the restore errors on foreign key constraints while removing tables, is there anyway to keep this parallel but have it respect the tree of dependencies.
Errors like this: pg_restore: error: could not execute query: ERROR: cannot drop table public.organisations because other objects depend on it DETAIL: constraint fk_groups_organisations_organisation_id on table public.groups depends on table public.organisations constraint fk_organisation_role_organisations_organisation_id on table public.organisation_role depends on table public.organisations HINT: Use DROP ... CASCADE to drop the dependent objects too. Command was: DROP TABLE IF EXISTS public.organisations;
When executed with --jobs=1 this command works.
So I tried the following: (to restore data and make indices with more than one thread but do the initial table creating and cleaning without)
But now pre-data does not remove the foreign key constraints at all so all tables can't be removed by --clean, breaking the whole thing.
Is there some way to make it do this internally? And this doesn't always reproduce either, seems like a bit of a race condition because one thread is just a bit too fast dropping tables.
We really want the indices to be created after the data gets put in because it is much much faster, than doing a schema-only and data-only restore.
Kind regards,
Erwin de Haan
Try "--dbname=template1" instead of "--dbname=$name".