Several of the new uninstall scripts give errors, particularly those
that drop types and their support objects. To see an example:
createdb foo
psql -d foo -f ltree.sql
psql -d foo -f uninstall_ltree.sql
A lot of the errors are due to DROP OPERATOR CLASS lines missing
the required USING clause; since that line fails so do subsequent
DROP OPERATOR and DROP FUNCTION lines because the operator class
still exists. I've found a few other errors as well, such as a
CREATE TYPE line in uninstall_dblink.sql and a couple of DROP
FUNCTION lines in uninstall_btree_gist.sql for functions that were
never created. I started to work on a patch but I wasn't sure how
to handle the chicken-and-egg situation of dropping a type and its
I/O functions. Is there any way to do that other than DROP TYPE
CASCADE? Should the uninstall scripts be doing that?
--
Michael Fuhr