Tom Lane wrote: > Bruce Momjian <[EMAIL PROTECTED]> writes: > > Should we be using CASCADE? Seems that is going to double-drop some > > tables. > > It kinda scares me too. If you are loading into a database that already > has stuff in it, seems like CASCADE could lead to dropping stuff that is > not part of the dataset being loaded. > > If you have no stuff in the database that is not part of the dataset > being loaded, then there's no percentage in individual DROP commands > anyway --- you'd be better off to drop the whole DB, create a new one, > and run the restore without any DROPs. So AFAICS the use of DROP in > restores is intended for reloading part of an existing database. > As such, automatic DROP CASCADEs seem like an excellent foot-gun. > Much safer to do the required drops manually before running restore. > > It might be okay as an option in pg_restore, but not as default > behavior.
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. -- Bruce Momjian | http://candle.pha.pa.us [EMAIL PROTECTED] | (610) 359-1001 + If your life is a hard drive, | 13 Roberts Road + Christ can be your backup. | Newtown Square, Pennsylvania 19073 ---------------------------(end of broadcast)--------------------------- TIP 9: the planner will ignore your desire to choose an index scan if your joining column's datatypes do not match