Re: pg_restore option --clean
Guillaume Lelarge <guillaume@lelarge.info>
From: Guillaume Lelarge <guillaume@lelarge.info>
To: Fabrice Chapuis <fabrice636861@gmail.com>
Cc: M Sarwar <sarwarmd02@outlook.com>, "pgsql-admin@lists.postgresql.org" <pgsql-admin@lists.postgresql.org>
Date: 2024-02-21T14:35:14Z
Lists: pgsql-hackers
Hi, Le mer. 21 févr. 2024 à 15:01, Fabrice Chapuis <fabrice636861@gmail.com> a écrit : > But it does not work for the structure > # CONSTRAINT test FOREIGN KEY (id_tab_key) REFERENCES tab(id) ON DELETE > cascade ON UPDATE CASCADE > > ERROR: cannot drop table tab because other objects depend on it > > Yeah, ON DELETE and ON CASCADE are not the answer to your question. pg_restore won't drop objects in cascade. There's no option for that. I'd guess the reason is that --clean only cleans the object it will restore. If other objects depend on it, pg_restore has no way to know how to recreate them, and you would end up with a not completely restored database. Regards. > Regards, > > Fabrice > > On Wed, Feb 21, 2024 at 12:47 PM M Sarwar <sarwarmd02@outlook.com> wrote: > >> Look around for >> >> ALTER TABLE TABLE-NAME >> ADD constraint fk-name foreign key col-name refers to tab-name ( >> col-name ) >> on UPDATE cascase >> on DELETE CASCADE >> ; >> Good luck, >> Sarwar >> >> ------------------------------ >> *From:* Fabrice Chapuis <fabrice636861@gmail.com> >> *Sent:* Wednesday, February 21, 2024 4:17 AM >> *To:* pgsql-admin@lists.postgresql.org <pgsql-admin@lists.postgresql.org> >> *Subject:* Fwd: pg_restore option --clean >> >> >> >> Hi, >> The --clean option of pg_restore allows you to replace an object before >> being imported. However, dependencies such as foreign keys or views prevent >> the deletion of the object. Is there a way to add the cascade option to >> force the deletion? >> Thanks for helping >> Fabrice >> > -- Guillaume.