"Stuart Bishop" <stu...@stuartbishop.net> writes: > "pg_restore --clean" appears to have an ordering problem, where a custom > type is being dropped before some functions that use that custom type as a > parameter, which fails.
It's always worked that way, and is difficult to avoid because of the circular dependencies between a type and its I/O functions. If we were to suppress the DROP FUNCTION commands for the I/O functions, we could have a non-cosmetic failure: suppose the functions have been created in the target DB, but not the type itself? Then the DROP TYPE CASCADE wouldn't remove the functions, and we'd have a conflict when the script tries to create them again. I don't think anyone's ever felt that it was essential for --clean to not produce any "no such object" errors, since in general you'd get some of those anyway unless the target DB exactly matches the source. Maybe an appropriate response is to document that this is expected. regards, tom lane -- Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-bugs