September 26, 2024: PostgreSQL 17 Released!
Supported Versions: Current (17) / 16 / 15 / 14 / 13 / 12
Development Versions: devel
Unsupported versions: 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2 / 8.1 / 8.0 / 7.4 / 7.3
This documentation is for an unsupported version of PostgreSQL.
You may want to view the same page for the current version, or one of the other supported versions listed above instead.

DROP SCHEMA

Name

DROP SCHEMA  --  remove a schema

Synopsis

DROP SCHEMA name [, ...] [ CASCADE | RESTRICT ]

  

Inputs

name

The name of a schema.

CASCADE

Automatically drop objects (tables, functions, etc) that are contained in the schema.

RESTRICT

Refuse to drop the schema if it contains any objects. This is the default.

Outputs

DROP SCHEMA

The message returned if the schema is successfully dropped.

ERROR: Schema "name" does not exist

This message occurs if the specified schema does not exist.

Description

DROP SCHEMA removes schemas from the data base.

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 he does not own some of the objects within the schema.

Notes

Refer to the CREATE SCHEMA statement for information on how to create a schema.

Usage

To remove schema mystuff from the database, along with everything it contains:

DROP SCHEMA mystuff CASCADE;
   

Compatibility

SQL92

DROP SCHEMA is fully compatible with SQL92, except that the standard only allows one schema to be dropped per command.