DROP TABLE
remove a table
English manual coverage begins with PostgreSQL 6.4. Source history and runtime observations have their own recorded version boundaries.
Reading PG 18·Select a recorded version
- anchor
- SQL-DROPTABLE
- file
- sql-droptable.html
- lang
- en
- name
- DROP TABLE
- purpose
- remove a table
- purpose zh
- 移除一个表
- sections same as
- Unknown
- slug
- 18
- synopsis html
- DROP TABLE [ IF EXISTS ] <em class="replaceable"><code>name</code></em> [, ...] [ CASCADE | RESTRICT ]
- synopsis text
- DROP TABLE [ IF EXISTS ] name [, ...] [ CASCADE | RESTRICT ]
Syntax
DROP TABLE [ IF EXISTS ] name [, ...] [ CASCADE | RESTRICT ]Syntax diagrams
Read left to right. Branches are choices, bypasses are optional, loops repeat. Select an underlined parameter to open its rule.
Definition PG 18
DROP TABLE [ IF EXISTS ] name [, ...] [ CASCADE | RESTRICT ]
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 EXISTSDo not throw an error if the table does not exist. A notice is issued in this case.
nameThe name (optionally schema-qualified) of the table to drop.
CASCADEAutomatically drop objects that depend on the table (such as views), and in turn all objects that depend on those objects (see Section 5.15).
RESTRICTRefuse to drop the table if any objects depend on it. This is the default.
Examples
To destroy two tables, films and distributors:
DROP TABLE films, distributors;
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.
See Also
ALTER TABLE, CREATE TABLECompare versions
Source references
Full definition and evidence JSON
Definition sources
center · PostgreSQL 18 · wiki-repair-20261023:11591e658214eb92b0244395b1d23a998c5370998f79b8c555d5dfc142ae6a26
Text language: en · wiki-repair-20261023:11591e658214eb92b0244395b1d23a998c5370998f79b8c555d5dfc142ae6a26