Oliver Elphick <olly@lfix.co.uk> writes:
> olly=# drop schema testing;
> NOTICE: table testing.testa depends on schema testing
> ERROR: Cannot drop schema testing because other objects depend on it
> Use DROP ... CASCADE to drop the dependent objects too
> This seems a little over-restrictive to me.
It's per spec: SQL92 saith
3) If RESTRICT is specified, then S shall not contain any per- sistent base tables, global temporary
tables,created local temporary tables, views, domains, assertions, character sets, collations, or
translations.
Note: If CASCADE is specified, then such objects will be dropped by the effective execution of the
SQLschema manipulation state- ments specified in the General Rules of this Subclause.
Also, it seems the safest behavior to me. "rmdir dir" won't remove a
nonempty directory; isn't that a pretty close analogy?
regards, tom lane