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 / 7.2 / 7.1
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.

TRUNCATE

Name

TRUNCATE  --  empty a table

Synopsis

TRUNCATE [ TABLE ] name
  

Inputs

name

The name (optionally schema-qualified) of the table to be truncated.

Outputs

TRUNCATE TABLE

Message returned if the table is successfully truncated.

Description

TRUNCATE quickly removes all rows from a table. It has the same effect as an unqualified DELETE but since it does not actually scan the table it is faster. This is most useful on large tables.

TRUNCATE cannot be executed inside a transaction block (BEGIN/COMMIT pair), because there is no way to roll it back.

Usage

Truncate the table bigtable:

TRUNCATE TABLE bigtable;
   

Compatibility

SQL92

There is no TRUNCATE in SQL92.