↑↓ select ↵ open ⌫ change scope Open full search

PG.CENTER connects PostgreSQL documentation, reference, and ecosystem knowledge. Maintained by Pigsty.

SQL Commands / Tables & Views

remove a table

Reading PG 18current·documented in 30 of 30 versions, 6.4 to 20

Lock modes

These modes are associated with DROP TABLE in PostgreSQL 18. The affected object, command options and execution phase determine which locks are acquired. Open a mode for its conditions and conflicts.

All command variants and compatibility matrices

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.

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 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.15).

RESTRICT

Refuse 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 TABLE
Version history 13
  1. 18 → 19 changed
  2. 16 → 17 changed
  3. 11 → 12 changed
  4. 9.5 → 9.6 changed
  5. 9.1 → 9.2 changed
  6. 8.2 → 8.3 changed
  7. 8.1 → 8.2 changed
  8. 7.4 → 8.0 changed
  9. 7.3 → 7.4 changed
  10. 7.2 → 7.3 changed
  11. 7.1 → 7.2 changed
  12. 7.0 → 7.1 changed
  13. 6.4 → 6.5 changed

Related entries

Definition snapshot: b7bd9cda · English manual source