pg_dumpall --clean is completely broken - Mailing list pgsql-hackers

From Tom Lane
Subject pg_dumpall --clean is completely broken
Date
Msg-id 17165.1239459953@sss.pgh.pa.us
Whole thread Raw
Responses Re: pg_dumpall --clean is completely broken  (Bruce Momjian <bruce@momjian.us>)
List pgsql-hackers
A thread over in -admin has made me realize the truth of $SUBJECT.
With --clean, pg_dumpall does indeed emit a DROP command for each
role, tablespace, or database ... just before recreating it.  This
takes no account of dependencies and so the role and tablespace
drops are pretty much guaranteed to fail due to databases still
depending on them.

I'm not sure if we need any real dependency analysis.  It seems
like it would be sufficient to issue the drops in a separate
pass:- drop all the databases- drop all the tablespaces- drop all the roles- go on with creation

The roles might still have references to each other in step 3,
but the DROP ROLE docs claim that's okay (I haven't tested).

Comments?
        regards, tom lane


pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: Allow COMMENT ON to accept an expression rather than just a string
Next
From: Tom Lane
Date:
Subject: Re: Closing some 8.4 open items