PostgreSQL
Description
DROP TABLE
removes tables from the database. Only the table owner, the schema owner, and 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.)
Parameters
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 (see Section 5.14).
RESTRICT
-
Refuse to drop the table if any objects depend on it. This is the default.
Compatibility
This command conforms to the SQL standard, except that the standard only allows one table to be dropped per command, and apart from the IF EXISTS
option, which is a PostgreSQL extension.
Submit correction
If you see anything in the documentation that is not correct, does not match your experience with the particular feature or requires further clarification, please use this form to report a documentation issue.
Copyright © 1996-2023 The PostgreSQL Global Development Group