"David Fetter" <david(at)fetter(dot)org> writes:
> create table foo (foo_id SERIAL PRIMARY KEY, foo_text TEXT NOT NULL);
> CREATE type two_foos AS (foo1 foo, foo2 foo);
> CREATE type four_foos AS (two_foo1 two_foos, two_foo2 two_foos);
> DROP TABLE foo CASCADE;
> Perhaps I have misunderstood, but I would think that both two_foos and
> four_foos would disappear as a result of this. They don't :/
No; their columns disappear, but the types don't. This is just the same
as not trashing an entire table when a single column's type is dropped
--- that propagates as a DROP COLUMN, not a DROP TABLE.
regards, tom lane