Title: DROP SCHEMA Author: The PostgreSQL Global Development Group Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/> Date: 2018 Manual: PostgreSQL 9.6.8 Documentation Source: PostgreSQL 9.6.8 Language: English
NAMEDROP_SCHEMA - remove a schema
DROP SCHEMA [ IF EXISTS ] name [, ...] [ CASCADE | RESTRICT ]
DROP SCHEMA removes schemas from the database.
A schema can only be dropped by its owner or a superuser. Note that the owner can drop the schema (and thereby all contained objects) even if they do not own some of the objects within the schema.
- Do not throw an error if the schema does not exist. A notice is issued in this case.
- The name of a schema.
- Automatically drop objects (tables, functions, etc.) that are contained in the schema, and in turn all objects that depend on those objects (see Section 5.13, lqDependency Trackingrq, in the documentation).
- Refuse to drop the schema if it contains any objects. This is the default.
Using the CASCADE option might make the command remove objects in other schemas besides the one(s) named.
To remove schema mystuff from the database, along with everything it contains:
DROP SCHEMA mystuff CASCADE;
DROP SCHEMA is fully conforming with the SQL standard, except that the standard only allows one schema to be dropped per command, and apart from the IF EXISTS option, which is a PostgreSQL extension.