DROP TABLE

The DROP TABLE command removes a table. You can find the full description of this command in the PostgreSQL documentation.

Description

This command removes tables from the database. Only a table owner, a schema owner, and a superuser can drop a table. To empty a table of rows without destroying the table, use DELETE or TRUNCATE.

DROP TABLE always removes any indexes, rules, triggers, and constraints that exist for the target table. However, to drop a table that is referenced by a view or a foreign-key constraint of another table, CASCADE must be specified. CASCADE will remove a dependent view entirely, but in the foreign-key case it will only remove the foreign-key constraint, not the other table entirely.

Usage

The general command view is listed below:

DROP TABLE [ IF EXISTS ] name [, ...] [ CASCADE | RESTRICT ]
Arguments
Parameter Description

IF EXISTS

Do not throw an error if the table does not exist. A notice is issued in this case

name

The name (optionally schema-qualified) of the table to drop

CASCADE

Automatically drop objects that depend on the table (such as views), and in turn all objects that depend on those objects

RESTRICT

Refuse to drop the table if any objects depend on it. This is the default behavior

Examples

DROP TABLE IF EXISTS test CASCADE;
Found a mistake? Seleсt text and press Ctrl+Enter to report it