DROP TYPE typename [, ...] [ CASCADE | RESTRICT ]
The name (optionally schema-qualified) of an existing type.
Automatically drop objects that depend on the type (such as table columns, functions, operators, etc).
Refuse to drop the type if there are any dependent objects. This is the default.
DROP TYPE will remove a user type from the system catalogs.
Only the owner of a type can remove it.
Note that the CREATE TYPE command and the data type extension mechanisms in PostgreSQL differ from SQL99.
<P>BEWARE: Do NOT drop a type for which there are user defined functions still in the database. Doing so will render the DROP FUNCTION foo(bar) useless. To get rid of them will require you to go into the pg_proc table, and issue a DELETE FROM command on the function names that have unmatched types.
<P>Having functions in your db that do not have matching types will also completely freak out PG-ADMIN!