Re: bug report: pg_dump does not use CASCADE in DROP - Mailing list pgsql-bugs

From Bruce Momjian
Subject Re: bug report: pg_dump does not use CASCADE in DROP
Date
Msg-id 200308301728.h7UHSeX17260@candle.pha.pa.us
Whole thread Raw
In response to Re: bug report: pg_dump does not use CASCADE in DROP  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: bug report: pg_dump does not use CASCADE in DROP
List pgsql-bugs
Tom Lane wrote:
> Bruce Momjian <pgman@candle.pha.pa.us> writes:
> > Once pg_dump starts using the dependency information, it seems it could
> > do the drops in the proper order, and when it detects
> > mutually-dependent tables, it can use a single DROP CASCADE to remove
> > them all --- seems like that is a TODO.
>
> You missed my point entirely.  What if DROP CASCADE causes a drop of a
> table that did not even exist in the source database, but was added in
> the target after the initial data load?  It seems unlikely that that is
> desirable behavior for pg_restore.
>
> The correct use of dependency information would be to sort the DROPs
> into an order that should succeed *without* CASCADE.  (This will
> actually happen for free AIUI, once pg_dump uses dependency info fully.
> DROPping in the reverse of a safe creation order should work.)

Right, but how do you drop two tables that REFERENCE each other?  Seems
you have to use CASCADE in that case.

--
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073

pgsql-bugs by date:

Previous
From: Tom Lane
Date:
Subject: Re: bug report: pg_dump does not use CASCADE in DROP
Next
From: Tom Lane
Date:
Subject: Re: bug report: pg_dump does not use CASCADE in DROP